Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Keywords
Repository
🎐 Static site generator
Statistics
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md

xiexie 谢谢
Static site generator 个的静态网站生成器
Quick start
If you like learning by example, you can check out a xiexie blog template and play with it to get an intuition. To start you only need to know that the dynamic values are rendered by prefixing with xiexie:: and each html needs a JSON config file, most of them are more or less copy-paste of another.
For a real-world usage of xiexie, you can check my technical blog.
Install
Download xiexie from releases
To use it globally, copy xiexie to /usr/bin
Run
xiexie --source path/to/source/directory --target path/to/target/directory
Documentation
For each page named i.e. about, you create 3 files:
- HTML with content and xiexie::-prefixed tags (about.html)
- CSS with page specific styles (about.css)
- JSON (about.json)
JSON file needs a specific schema, which is defined below.
Body tag
This is where content of a template is rendered.
HTML
xiexie::body
CSS tag
It is replaced with a <link> pointing to a page's CSS file.
HTML
xiexie::css
Aggregation tag
Use aggregations when you want to make copies of some HTML structure multiple times. For example, when you want to render a collection of posts on a blog.
HTML
<xiexie::aggregation::aggregationName>
xiexie::aggregation:aggregationName::fieldName
</xiexie::aggregation::aggregationName>
JSON configuration schema
This is how your JSON file is structured.
A file has a purpose. If it's a template for other pages, set it to template. If it renders a collection of pages, set it to aggregator. If it's a page (like about.html), set it to "page".
If a file is a regular page, it needs a template. Put a name of a template as a value, i.e. "blog-post".
py
{
"purpose": "template" | "aggregator" | "page",
"template": templateFileName,
"fields": [
{
fieldFileName: "value of field name"
},
{
anotherFieldFileName: ""
}
],
"aggregations": [
{
aggregationName: [
{
fieldFileName: ""
},
{
anotherFieldFileName: ""
}
]
}
]
}
Build
If you don't want to use a released binary version, build xiexie on your own. Clone this repository
Run cargo build --release in a project root directory. You need Rust and Cargo to build it
A binary file will be available in target/release/xiexie
License
Free for personal use. Email me for a commercial license.
© Copyright Jędrzej Paweł Maczan. Made in Poland, 2022
Owner
- Name: Jędrzej Maczan
- Login: jmaczan
- Kind: user
- Website: https://maczan.pl
- Twitter: jedmaczan
- Repositories: 30
- Profile: https://github.com/jmaczan
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0