Summary Files Commits Branches @commit @diff @stats
path: root / README.md
blob: 0d2da8a74ecd287fc63eb1334a5d60de3b982919 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# syndamiadotcom

Repository for my website.
Pages are written in Markdown, converted to HTML with [ssg](https://www.romanzolotarev.com/ssg.html) and [lowdown](https://kristaps.bsd.lv/lowdown/), and edited with AWK scripts.
Currently, all content is static.

For more information on how it works, refer to [S.S. Law](https://syndamia.gitlab.io/ss-law/).

## Layout and personal setup

- `.hooks`: Scripts which are executed before git commit.
  + `pre-commit.sh`: Most (blog, tutorial, ...) pages are accessed without the ending `.html`, which is done by moving the contents of `page.html` to `page/index.html`.
    I would still like for certain pages to be accessible also with `page.html`, so I create a hardlink from one to the other.
    However, git (when pulling) removes the appropriate hardlink and the files aren't "synced", this script brings back those hardlinks.
- `awk-edits`: After HTML generation of pages, AWK scripts do modifications.
  For more information, read `awk-edits/README.md`.
- `src`: All website content
- `generate.sh`: Generates the whole website.
  + You can give it arguments:
    + With no argument, the website is created in a "production" way.
    + With the `dev` parameter (`./generate.sh dev`), you'll get duration information for different stuff.
    + With the `devs` argument, you'll get duration information, but AWK scripts will be ran individually, rather than being combined (useful for individual performance evaluation; name comes from dev + separated)
  + There are some variables which handle how the script works:
    + `REPO_FOLDER`: specifies where the repository is, useful if you want to run the script outside of the repo.
      awk-edits and src folders are always relative to the repo folder.
    + `GEN_FOLDER`: folder in which to put the final generated webpages
    + `GEN_TINY_FOLDER`: folder in which to put the webpages, that have removed features for better accessibility
    + `AWK_FILE`: where to put the temporary AWK script, which is created by combining all awk-edits scripts into one.
      Obviously doesn't do anything with `devs` parameter.
- `install-ssg-lowdown.sh`: Installs ssg and lowdown on the current system.