Cybrkyd's git repositories

page-with-py • commit: 9eaa339

commit 9eaa33943271636d25560144c4361e30caf2eabf3ad6117003a61d40d6465cee
author cybrkyd <noreply@cybrkyd.com> 2026-01-13 19:49:34 +0000
committer cybrkyd <noreply@cybrkyd.com> 2026-01-13 19:49:34 +0000

Commit Message

Back to Markdown for README

📊 Diffstat

README 83
README.md 54
2 files changed, 54 insertions(+), 83 deletions(-)

Diff

diff --git a/README b/README
deleted file mode 100644
index a6be40f..0000000
--- a/README
+++ /dev/null
@@ -1,86 +0,0 @@
- ==================================
- PaPy - [Pa]ge with [Py]thon
- ==================================
-
- A Python static site generator.
-
- Using Python3:
-
- 1. `pip install markdown`
- 2. Copy contents of /pa-py to local directory.
- 3. Drop markdown files into /post (see front matter in examples)
- 4. Generate with `python3 pa.py`.
- 5. Output is in directory `/public`, complete with RSS and Sitemap.
-
- `/theme` files can be tweaked to preference.
-
- Features
---------
-
- PaPy can do what most other static site generators can do. View an
- example blog built with PaPy : https://cybrkyd.com
-
- - Converts Markdown files to HTML from folder `/post` with support
- for fenced code blocks, tables, footnotes and smart quotes
- - Output URLS are clean; i.e. `/post/slug` versus `/post/slug.html`
- - Front Matter Parsing: Extracts metadata from YAML-style front
- matter
- - Template system: Uses HTML template parts (archive.html,
- footer.html, header.html, head.html, main.html, page.html,
- single.html, tags.html) from theme directory
- - Pagination with reverse chronological sorting (newest first)
- - RSS feed and Sitemap generation
- - Static asset handling:
- - Contents of root directory are copied to `/public`
- - If sub-directories contain markdown files, they too are converted
- to HTML
- - `/static` directory for static assets like css and scripts are
- pushed through
- - SEO-ready: Can output Open Graph, Twitter card meta and JSON-LD
- Microdata (optional)
- - Tags:
- - Outputs tags from comma-separated front matter: `tags: tag1, tag2`
- - Outputs tags from on-page hashtag trigger in markdown body `{{
- hashtag:example }}`
- - Front matter tags only are shown at the bottom of the
- content/blog post
- - All tags (front matter and on-page hashtag trigger) have `/tags`
- pages generated and indexed.
- - Tags support for mixed case hashtags
- - Date formatting: Displayed dates can be formatted to preference
- in themes via Python's `strftime()` method.
-
-
- Themes
-------
-
- Some example themes are included. The layouts can be remixed to
- taste - see the example themes for how to do this.
-
- * basic
- -----
- A basic theme with all posts displayed as a list on the
- main index page (newest first).
-
- * cards
- -----
- Same as basic, with all main index posts laid out as
- "cards" or "blocks (in `<div>` instead of `<ul>`).
-
- * long
- ----
- Same as basic, with all main index posts appearing in
- "long" format on the front page, i.e., the full body of each
- post is shown.
-
- * cybr
- ----
- My theme, as used on https://cybrkyd.com
-
-
- Licence
--------
-
- This project is made available under a GPL3 licence -- see COPYING
- for the full text.
-
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..da12494
--- /dev/null
+++ b/README.md
@@ -0,0 +1,54 @@
+ # PaPy (<span style="color:red">Pa</span>ge with <span style="color:red">Py</span>thon)
+
+ A Python static site generator
+
+ Using Python3:
+
+ 1. `pip install markdown`
+ 2. Copy contents of /pa-py to local directory.
+ 3. Drop markdown files into /post (see front matter in examples)
+ 4. Generate with `python3 pa.py`.
+ 5. Output is in directory `/public`, complete with RSS and Sitemap.
+
+ `/theme` files can be tweaked to preference.
+
+ ## Features
+
+ PaPy can do what most other static site generators can do.
+
+ [View example blog](https://cybrkyd.com)
+
+ - Converts Markdown files to HTML from folder `/post` with support for fenced code blocks, tables, footnotes and smart quotes
+ - Output URLS are clean; i.e. `/post/slug` versus `/post/slug.html`
+ - Front Matter Parsing: Extracts metadata from YAML-style front matter
+ - Template system: Uses HTML template parts (archive.html, footer.html, header.html, head.html, main.html, page.html, single.html, tags.html) from theme directory
+ - Pagination with reverse chronological sorting (newest first)
+ - RSS feed and Sitemap generation
+ - Static asset handling:
+ - Contents of root directory are copied to `/public`
+ - If sub-directories contain markdown files, they too are converted to HTML
+ - `/static` directory for static assets like css and scripts are pushed through
+ - SEO-ready: Can output Open Graph, Twitter card meta and JSON-LD Microdata (optional)
+ - Tags:
+ - Outputs tags from comma-separated front matter: `tags: tag1, tag2`
+ - Outputs tags from on-page hashtag trigger in markdown body `{{ hashtag:example }}`
+ - Front matter tags only are shown at the bottom of the content/blog post
+ - All tags (front matter and on-page hashtag trigger) have `/tags` pages generated and indexed.
+ - Tags support for mixed case hashtags
+ - Date formatting: Displayed dates can be formatted to preference in themes via Python's `strftime()` method.
+
+ ## Themes
+
+ Some example themes are included. The layouts can be remixed to taste - see the example themes for how to do this.
+
+ **basic**: A basic theme with all posts displayed as a list on the main index page (newest first).
+ **cards**: Same as basic, with all main index posts laid out as "cards" or "blocks (in `<div>` instead of `<ul>`).
+ **long**: Same as basic, with all main index posts appearing in "long" format on the front page, i.e., the full body of each post is shown.
+ **cybr**: My theme, as used on https://cybrkyd.com
+
+ The layouts can be remixed to taste -- see the example themes for how to do this.
+
+ ## Licence
+
+ This project is made available under a GPL3 licence -- see COPYING for the full text.
+