before we embark on upgrading to async, and all the refactoring that
this will bring on us (see #797 & #799), we should keep our `main`
branch as stable and current as possible.
Let's start by upgrading rocket and its dependencies.
* [REFACTORING]Rename whitespace_tokenizer to tag_tokenizer for
registration
Name representing its purpose is preferred.
* Add lindera-tantivy to plume-model's dependencies
* Install lindera-tantivy
* Add SearchTokenizerConfig struct
* Add search tokenizers to config option
* Use CONFIG for tokenizers
* Use enum to hold tokenizer config instead of initializing on config phase
* Use guard instead of duplicate default values
* Use as_deref() instead of guard
* Move SearchTokenizer from plume-models to plume-models::search::tokenizer
* Rename SearchTokenizer to TokenizerKind
* Define SearchTokenierConfig::determine_tokenizer()
* Use determine_tokenizer in SearchTokenizerConfig::init()
* Pass tokenizer config to Searcher methods
* Add LowerCase filter to Lindera tokenizer
* Add test for Lindera tokenizer
* Define SEARCH_LANG env to specify tokenizers set
* Run cargo fmt
* Make Lindera tokenizer optional
* Fix typos
* Upgrade Tantivy to 0.12.0
* Follow Tantivy Tokenizer's new type definition
* Wrap tokenizers with TextAnalyzer to use filter methods
* Replace async IndexWriter::garbage_collect_files with sync functions
* Update Cargo.toml
Per the issue, "runtime-fmt uses perma-unstable rust APIs and is
therefore susceptible to breakage".
This replaces the two calls to rt_format! with .replace() and drops the
dependency.
Fixes#769
* Percent-encode URI segments in ap_url
* Fix invalid Atoms
* Remove redundant clone according to cargo clippy
* Revert "Percent-encode URI segments in ap_url"
This reverts commit 8253aa79bd.
ActivityPub(JSON-LD) accepts URI.
See https://github.com/Plume-org/Plume/pull/764#issuecomment-623105734
* Use absolute IRI for IDs in Atom
* Reuse formatted string
* Use parent element's creation date for Atom updated if there's no post
* Remove uncecessary UTC conversion
* Extract routes::build_atom_feed function
* [REFACTORING]Use DocumentContext during parsing Markdown
* Add test case for hash in link
* Make DocumentContext derive Debug
* Add in_link field in DocumentContext
* Don't make hash words tags in link
* Add test for atmark in link
* Don't make atmark words in link mentions
* Add test for Persian language hashtags
See https://github.com/Plume-org/Plume/issues/757
* Add regex-syntax with unicode-perl feature to dependencies
* Install regex-syntax
* Allow hashtag to use Unicode word characters
* Run cargo fmt
This is a basic and simple way to display them. No interaction possible.
Alos, this patch is not optimised. as everytime a partial post_card is
called, `Post::count_likes()` and `Post::count_reshares()` are called
which means quite a few more quesies are sent to database unless diesel
uses some cache mechanisem.
A way to enhance this this would be to keep a count of likes and reshares
are kept in Post model / table.