xiexie

🎐 Static site generator

https://github.com/jmaczan/xiexie

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

china chinese rust ssg static-site static-site-generator web xiexie
Last synced: 6 months ago · JSON representation

Repository

🎐 Static site generator

Basic Info
  • Host: GitHub
  • Owner: jmaczan
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 65.4 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
china chinese rust ssg static-site static-site-generator web xiexie
Created over 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme Citation

README.md

xiexie logo

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

GitHub Events

Total
Last Year

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 46
  • Total Committers: 2
  • Avg Commits per committer: 23.0
  • Development Distribution Score (DDS): 0.065
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
jmaczan j****l@m****l 43
Maczan J****n@d****m 3
Committer Domains (Top 20 + Academic)

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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels