2个版本
0.0.2 | 2024年4月30日 |
---|---|
0.0.1 | 2024年4月29日 |
#470 in 解析实现
31KB
404 行
推文存档到Markdown
使用FrontMatter将存档推文转换为Markdown
要求
此仓库需要Rust语言/编译器从源代码构建。截至本ReadMe文件的最新更新,推荐安装Rust的方法是通过他们的安装脚本;
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
快速开始
此仓库是一个Rust二进制文件
-
使用
cargo
安装cargo install tweet-archive-to-markdown
-
为支持的shell(如果支持)编写制表符完成,例如,具有XDG支持的Bash;
_shell_name="bash" _completions_directory="${XDG_DATA_HOME:-${HOME}/.local/share}/bash-completion/completions" tweet-archive-to-markdown --build-completions "${_shell_name}" | tee "${_completions_directory}/tweet-archive-to-markdown" 1>/dev/null
可能的值:
bash
、elvish
、fish
、powershell
、zsh
使用方法
-
打印所有可用的命令行选项
tweet-archive-to-markdown -h #> Convert archived Tweets to MarkDown with FrontMater #> #> Usage: tweet-archive-to-markdown [OPTIONS] --input-path <INPUT_PATH> #> #> Options: #> --input-path <INPUT_PATH> #> Path to input file #> --output-directory <OUTPUT_DIRECTORY> #> Path to directory where MarkDown files will be written #> --javascript-pattern <JAVASCRIPT_PATTERN> #> Useful if/when `--input-path` targets an explicit `data/tweets.js` file path [default: window.YTD.tweets.part0] #> --post-date-format <POST_DATE_FORMAT> #> Custom format string for `DateTime` output parsed from `.tweets[].tweet.created_at` used to #> generate post FrontMatter for `date` YAML [default: "%F %T %z"] #> --post-author <POST_AUTHOR> #> Post `author` FrontMatter value for all MarkDown files written #> --post-layout <POST_LAYOUT> #> Post `layout` FrontMatter value for all MarkDown files written [default: post] #> --post-twitter-key <POST_TWITTER_KEY> #> FrontMatter key under which extra Twitter Post metadata and links will be provided [default: twitter] #> --build-completions <BUILD_COMPLETIONS> #> Output shell completions to standard out then exit [possible values: bash, elvish, fish, powershell, zsh] #> --dry-run #> Send data to standard out without writing files #> --verbose #> Send parsing data and debugging information to standard error #> -h, --help #> Print help (see more with '--help') #> -V, --version #> Print version
-
示例使用
GH_NAME="S0AndS0" tweet-archive-to-markdown --input-path "~/Downloads/twitter.archive.zip" \ --output-directory "~/git/hub/${GH_NAME}.github.io/_tweets" \ --post-date-format "%Y-%m-%d %H:%M:%S %z" \ --post-author "${GH_NAME}" \ --post-layout "post" \ --post-twitter-key "twitter" \ --verbose \ --dry-run
-
示例结果 --
~/git/hub/S0AndS0.github.io/_tweets/2023-08-30-1697011324369178968.md
--- layout: post date: "2023-08-30 22:20:03 +0000" author: S0AndS0 twitter: post: https://twitter.com/i/web/status/1697011324369178968 --- Anyone else occasionally annoyed we're not allowed to modify visibility of `details` HTML element children via `:target` ID with CSS only? details:is(:target) > *:not(summary) { background: hotpink; display: block; visibility: visible; }
注意事项
此仓库可能不是功能完整且/或功能齐全,欢迎提交添加功能或修复错误的Pull Requests。
贡献
对tweet-archive-to-markdown和rust-utilities的贡献选项
分支
⚠️ 基于此仓库创建分支、提交贡献、发布衍生作品等,将形成基于使用场景的许可证子部分协议。
例如,如果您选择贡献或使用此项目,则承认并接受这些基于使用的许可证条款将适用于此类作品。
开始创建一个分支到您具有写权限的账户。
- 为分支URL添加远程。URL语法为
[email protected]:<NAME>/<REPO>.git
...
cd ~/git/hub/rust-utilities/tweet-archive-to-markdown
git remote add fork git@github.com:<NAME>/tweet-archive-to-markdown.git
- 提交您的更改并将其推送到您的分支,例如,修复一个问题...
cd ~/git/hub/rust-utilities/tweet-archive-to-markdown
git commit -F- <<'EOF'
:bug: Fixes #42 Issue
**Edits**
- `<SCRIPT-NAME>` script, fixes some bug reported in issue
EOF
git push fork main
注意,可以使用
-u
选项将fork
设置为默认的远程,例如:git push -u fork main
。然而,这也会默认将fork
远程用于拉取!这意味着要从origin
拉取更新,必须明确执行,例如:git pull origin main
- 然后在 GitHub 上通过 Web-UI 提交一个 Pull Request,URL 语法是
https://github.com/<NAME>/<REPO>/pull/new/<BRANCH>
注意;为了降低您的 Pull Request 在被接受前需要修改的可能性,请查阅 dot-github 仓库中的详细贡献指南。
赞助商
感谢您考虑这一点!
无论您是否能够为 rust-utilities 维护的如 tweet-archive-to-markdown 这样的项目提供财务支持,请考虑与他人分享有用的项目,因为维护开源存储库的一个目标是为社区提供价值。
署名
许可证
本项目根据使用场景授权
商业和/或专有使用
如果项目是 商业的 或 (||
) 专有的,那么请与作者联系以获取定价和许可选项,以便使用此存储库中的代码和/或功能。
非商业和 FOSS 使用
如果项目是 非商业的 并且 (&&
) 与 AGPL-3.0 兼容的许可证发布,则可以在以下条款下使用此存储库中的代码。
Convert archived Tweets to MarkDown with FrontMatter
Copyright (C) 2024 S0AndS0
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
依赖关系
~9.5MB
~158K SLoC