Skip to content

Commit 3d37607

Browse files
committed
docs: add README with project overview and features
1 parent 90ea470 commit 3d37607

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

README.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# lzwjava.github.io
2+
3+
[![Deploy Jekyll](https://github.com/lzwjava/lzwjava.github.io/actions/workflows/gh-pages.yml/badge.svg?branch=main)](https://github.com/lzwjava/lzwjava.github.io/actions/workflows/gh-pages.yml) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/lzwjava/lzwjava.github.io)
4+
5+
Welcome to my personal blog! Here, I share my thoughts, experiences, and knowledge on various topics.
6+
7+
## Key Improvements
8+
9+
This blog incorporates several enhancements compared to a standard Jekyll blog using the jekyll-theme-cayman:
10+
11+
* **AI-Powered Translation:** Leverages advanced language models for accurate and contextually relevant translations, expanding content accessibility to a global audience.
12+
* **XeLaTeX PDF Generation:** Integrates XeLaTeX to produce high-quality, print-ready PDFs for offline reading and sharing.
13+
* **Google Cloud Text-to-Speech:** Utilizes Google Cloud's Text-to-Speech service to generate audio versions of posts, improving accessibility for visually impaired users and those who prefer audio content.
14+
* **Enhanced CSS Styling:** Features a refined and custom CSS design for a visually appealing and user-friendly experience.
15+
* **MathJax Support:** Implements MathJax for rendering complex mathematical expressions and equations, making technical content more accessible.
16+
* **Night Mode:** Includes a night mode option to reduce eye strain and improve readability in low-light conditions.
17+
* **Flexible Post Selection:** Offers various post selection options, such as filtering by category or tag, to enhance navigation.
18+
* **Regular Updates:** Ensures the blog's library and dependencies are up-to-date for optimal performance and security.
19+
* **`awesome-cv` Integration:** Uses `awesome-cv` to generate professional CVs directly from the blog.
20+
* **RSS Feed Support:** Provides RSS feeds via `feed.xml`, allowing users to subscribe to the blog.
21+
* **Bilingual Content:** Supports both Chinese and English content to cater to a diverse audience.
22+
* **GitHub Workflow Automation:** Implements GitHub Actions for automated building, testing, and deployment, ensuring a streamlined development process.
23+
* **Automatic Translation Workflow:** Automatically translates new or updated posts into multiple languages using GitHub Actions.
24+
* **EPUB Support:** Converts Markdown to EPUB for ebook readers.
25+
26+
27+
## Getting Started
28+
29+
To set up a local Jekyll environment, follow these steps:
30+
31+
```shell
32+
gem install jekyll bundler
33+
34+
jekyll new myblog
35+
36+
cd myblog
37+
38+
bundle install
39+
40+
bundle exec jekyll serve
41+
42+
bundle exec jekyll serve --incremental
43+
44+
bundle exec jekyll serve --draft
45+
46+
bundle exec jekyll serve
47+
48+
bundle add webrick
49+
50+
jekyll serve
51+
```
52+
53+
## Markdown Styling
54+
55+
To customize syntax highlighting, use `rougify`:
56+
57+
```shell
58+
rougify help style
59+
60+
rougify style github > _sass/syntax.css
61+
62+
rougify style gruvbox.dark > _sass/syntax.css
63+
64+
rougify style base16.monokai.dark > _sass/syntax.css
65+
```
66+
67+
## Audio and PDF Pipelines
68+
69+
To generate audio and PDF files, use the following commands:
70+
71+
```bash
72+
conda activate google-cloud-env
73+
74+
python scripts/audio_pipeline.py --task posts --n 10
75+
76+
python scripts/audio_pipeline.py --task pages
77+
78+
python scripts/audio_pipeline.py --task notes
79+
80+
python scripts/audio_pipeline.py --task notes --n 100
81+
82+
python scripts/pdf_pipeline.py --task pages
83+
84+
python scripts/pdf_pipeline.py --task posts --n 10
85+
86+
python scripts/pdf_pipeline.py --task notes
87+
88+
python scripts/generate_notes_link.py
89+
90+
python scripts/auto-ss-config/upload_configs.py
91+
92+
python scripts/epub_book.py notes
93+
94+
python scripts/epub_book.py _posts/en
95+
96+
python scripts/epub_book.py _posts/ja
97+
98+
python scripts/update_lang.py --file original/2025-02-02-archlinux-en.md --lang ja --model gemini
99+
```
100+
101+
## Scripts
102+
103+
To create a new draft post, use:
104+
105+
```
106+
python scripts/draft.py <name>
107+
```
108+
109+
## Content Guide
110+
111+
* `-en`: Denotes English posts.
112+
* `-zh`: Denotes Chinese posts.
113+
114+
The `_posts` and `pages` directories support both `-en` and `-zh` suffixes.
115+
116+
The `notes` directory primarily contains English content for personal learning purposes and does not require translations.
117+
118+
## Reference
119+
120+
[Syntax Highlighting with Jekyll](https://mcpride.github.io/posts/development/2018/03/06/syntax-highlighting-with-jekyll/)

0 commit comments

Comments
 (0)