Merge pull request 'Keep tags as-is' (#832) from KitaitiMakoto/Plume:keep-tag into main
Reviewed-on: https://git.joinplu.me/Plume/Plume/pulls/832 Reviewed-by: kiwii <kiwii@noreply@joinplu.me>
This commit is contained in:
commit
3c666080a9
@ -294,7 +294,7 @@ pub fn md_to_html<'a>(
|
|||||||
}
|
}
|
||||||
let hashtag = text_acc;
|
let hashtag = text_acc;
|
||||||
let link = Tag::Link(
|
let link = Tag::Link(
|
||||||
format!("{}tag/{}", base_url, &hashtag.to_camel_case())
|
format!("{}tag/{}", base_url, &hashtag)
|
||||||
.into(),
|
.into(),
|
||||||
hashtag.to_owned().into(),
|
hashtag.to_owned().into(),
|
||||||
);
|
);
|
||||||
|
@ -11,7 +11,7 @@ use activitypub::{
|
|||||||
};
|
};
|
||||||
use chrono::{NaiveDateTime, TimeZone, Utc};
|
use chrono::{NaiveDateTime, TimeZone, Utc};
|
||||||
use diesel::{self, BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
use diesel::{self, BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
||||||
use heck::{CamelCase, KebabCase};
|
use heck::KebabCase;
|
||||||
use plume_common::{
|
use plume_common::{
|
||||||
activity_pub::{
|
activity_pub::{
|
||||||
inbox::{AsObject, FromId},
|
inbox::{AsObject, FromId},
|
||||||
@ -622,7 +622,6 @@ impl FromId<PlumeRocket> for Post {
|
|||||||
let mut hashtags = md_to_html(&post.source, None, false, None)
|
let mut hashtags = md_to_html(&post.source, None, false, None)
|
||||||
.2
|
.2
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|s| s.to_camel_case())
|
|
||||||
.collect::<HashSet<_>>();
|
.collect::<HashSet<_>>();
|
||||||
if let Some(serde_json::Value::Array(tags)) = article.object_props.tag {
|
if let Some(serde_json::Value::Array(tags)) = article.object_props.tag {
|
||||||
for tag in tags {
|
for tag in tags {
|
||||||
@ -762,7 +761,6 @@ impl AsObject<User, Update, &PlumeRocket> for PostUpdate {
|
|||||||
let mut txt_hashtags = md_to_html(&post.source, None, false, None)
|
let mut txt_hashtags = md_to_html(&post.source, None, false, None)
|
||||||
.2
|
.2
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|s| s.to_camel_case())
|
|
||||||
.collect::<HashSet<_>>();
|
.collect::<HashSet<_>>();
|
||||||
if let Some(serde_json::Value::Array(mention_tags)) = self.tags {
|
if let Some(serde_json::Value::Array(mention_tags)) = self.tags {
|
||||||
let mut mentions = vec![];
|
let mut mentions = vec![];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
use chrono::NaiveDateTime;
|
use chrono::NaiveDateTime;
|
||||||
use heck::{CamelCase, KebabCase};
|
use heck::KebabCase;
|
||||||
use rocket_contrib::json::Json;
|
use rocket_contrib::json::Json;
|
||||||
|
|
||||||
use crate::api::{authorization::*, Api};
|
use crate::api::{authorization::*, Api};
|
||||||
@ -181,7 +181,7 @@ pub fn create(
|
|||||||
Tag::insert(
|
Tag::insert(
|
||||||
conn,
|
conn,
|
||||||
NewTag {
|
NewTag {
|
||||||
tag: hashtag.to_camel_case(),
|
tag: hashtag,
|
||||||
is_hashtag: true,
|
is_hashtag: true,
|
||||||
post_id: post.id,
|
post_id: post.id,
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
use chrono::Utc;
|
use chrono::Utc;
|
||||||
use heck::{CamelCase, KebabCase};
|
use heck::KebabCase;
|
||||||
use rocket::request::LenientForm;
|
use rocket::request::LenientForm;
|
||||||
use rocket::response::{Flash, Redirect};
|
use rocket::response::{Flash, Redirect};
|
||||||
use rocket_i18n::I18n;
|
use rocket_i18n::I18n;
|
||||||
@ -314,18 +314,19 @@ pub fn update(
|
|||||||
let tags = form
|
let tags = form
|
||||||
.tags
|
.tags
|
||||||
.split(',')
|
.split(',')
|
||||||
.map(|t| t.trim().to_camel_case())
|
.map(|t| t.trim())
|
||||||
.filter(|t| !t.is_empty())
|
.filter(|t| !t.is_empty())
|
||||||
.collect::<HashSet<_>>()
|
.collect::<HashSet<_>>()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter_map(|t| Tag::build_activity(t).ok())
|
.filter_map(|t| {
|
||||||
|
Tag::build_activity(t.to_string()).ok()
|
||||||
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
post.update_tags(&conn, tags)
|
post.update_tags(&conn, tags)
|
||||||
.expect("post::update: tags error");
|
.expect("post::update: tags error");
|
||||||
|
|
||||||
let hashtags = hashtags
|
let hashtags = hashtags
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|h| h.to_camel_case())
|
|
||||||
.collect::<HashSet<_>>()
|
.collect::<HashSet<_>>()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter_map(|t| Tag::build_activity(t).ok())
|
.filter_map(|t| Tag::build_activity(t).ok())
|
||||||
@ -489,14 +490,14 @@ pub fn create(
|
|||||||
let tags = form
|
let tags = form
|
||||||
.tags
|
.tags
|
||||||
.split(',')
|
.split(',')
|
||||||
.map(|t| t.trim().to_camel_case())
|
.map(|t| t.trim())
|
||||||
.filter(|t| !t.is_empty())
|
.filter(|t| !t.is_empty())
|
||||||
.collect::<HashSet<_>>();
|
.collect::<HashSet<_>>();
|
||||||
for tag in tags {
|
for tag in tags {
|
||||||
Tag::insert(
|
Tag::insert(
|
||||||
&*conn,
|
&*conn,
|
||||||
NewTag {
|
NewTag {
|
||||||
tag,
|
tag: tag.to_string(),
|
||||||
is_hashtag: false,
|
is_hashtag: false,
|
||||||
post_id: post.id,
|
post_id: post.id,
|
||||||
},
|
},
|
||||||
@ -507,7 +508,7 @@ pub fn create(
|
|||||||
Tag::insert(
|
Tag::insert(
|
||||||
&*conn,
|
&*conn,
|
||||||
NewTag {
|
NewTag {
|
||||||
tag: hashtag.to_camel_case(),
|
tag: hashtag,
|
||||||
is_hashtag: true,
|
is_hashtag: true,
|
||||||
post_id: post.id,
|
post_id: post.id,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user