diff --git a/README.md b/README.md
index 8e5aad5..e4b13d8 100644
--- a/README.md
+++ b/README.md
@@ -5,50 +5,51 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
## Contents
-* [Classless](#classless)
- * [attriCSS](#attricss)
- * [axist](#axist)
- * [awsm.css](#awsmcss)
- * [Bahunya](#bahunya)
- * [Bamboo CSS](#bamboo-css)
- * [BareCSS](#barecss)
- * [Basic.css](#basiccss)
- * [Classless.css](#classlesscss)
- * [concrete.css](#concretecss)
- * [Downstyler](#downstyler)
- * [holiday.css](#holidaycss)
- * [LatexCSS](#latexcss)
- * [Markdown CSS](#markdown-css)
- * [Air](#air)
- * [Modest](#modest)
- * [Retro](#retro)
- * [Splendor](#splendor)
- * [Marx](#marx)
- * [MercuryCSS](#mercurycss)
- * [MVP.css](#mvpcss)
- * [new.css](#newcss)
- * [no-class.css](#no-classcss)
- * [Pico.css](#picocss)
- * [ridge.css](#ridgecss)
- * [sakura](#sakura)
- * [Simple.css](#simplecss)
- * [SPCSS](#spcss)
- * [style.css](#stylecss)
- * [Stylize.css](#stylizecss)
- * [tacit](#tacit)
- * [Tufte CSS](#tufte-css)
- * [W3C Core Styles](#w3c-core-styles)
- * [water.css](#watercss)
- * [Writ](#writ)
- * [YoRHa](#yorha)
-* [Class-light](#class-light)
- * [Chota](#chota)
- * [Milligram](#milligram)
- * [mini.css](#minicss)
- * [Picnic CSS](#picnic-css)
- * [Wing](#wing)
-* [See also](#see-also)
-* [License](#license)
+- [Classless CSS](#classless-css)
+ * [Contents](#contents)
+ * [Classless](#classless)
+ + [attriCSS](#attricss)
+ + [awsm.css](#awsmcss)
+ + [axist](#axist)
+ + [Bahunya](#bahunya)
+ + [Bamboo CSS](#bamboo-css)
+ + [BareCSS](#barecss)
+ + [Basic.css](#basiccss)
+ + [Classless.css](#classlesscss)
+ + [concrete.css](#concretecss)
+ + [Downstyler](#downstyler)
+ + [holiday.css](#holidaycss)
+ + [LatexCSS](#latexcss)
+ + [Markdown CSS — Air](#markdown-css--air)
+ + [Markdown CSS — Modest](#markdown-css--modest)
+ + [Markdown CSS — Retro](#markdown-css--retro)
+ + [Markdown CSS — Splendor](#markdown-css--splendor)
+ + [Marx](#marx)
+ + [MercuryCSS](#mercurycss)
+ + [MVP.css](#mvpcss)
+ + [new.css](#newcss)
+ + [no-class.css](#no-classcss)
+ + [Pico.css](#picocss)
+ + [ridge.css](#ridgecss)
+ + [sakura](#sakura)
+ + [Simple.css](#simplecss)
+ + [SPCSS](#spcss)
+ + [style.css](#stylecss)
+ + [Stylize.css](#stylizecss)
+ + [tacit](#tacit)
+ + [Tufte CSS](#tufte-css)
+ + [W3C Core Styles](#w3c-core-styles)
+ + [water.css](#watercss)
+ + [Writ](#writ)
+ + [YoRHa](#yorha)
+ * [Class-light](#class-light)
+ + [Chota](#chota)
+ + [Milligram](#milligram)
+ + [mini.css](#minicss)
+ + [Picnic CSS](#picnic-css)
+ + [Wing](#wing)
+ * [See also](#see-also)
+ * [License](#license)
## Classless
@@ -65,14 +66,6 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
[](screenshot/attricss-4-lightfairy-pink.png)
-### axist
-
-* [Repository](https://github.com/ruanmartinelli/axist)     
-* [Demo](https://ruanmartinelli.github.io/axist/)
-
-[](screenshot/axist.png)
-
-
### awsm.css
* [Repository](https://github.com/igoradamenko/awsm.css)     
@@ -88,6 +81,14 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
[](screenshot/awsm.css-7-pearl-lusta.png)
+### axist
+
+* [Repository](https://github.com/ruanmartinelli/axist)     
+* [Demo](https://ruanmartinelli.github.io/axist/)
+
+[](screenshot/axist.png)
+
+
### Bahunya
* [Repository](https://github.com/Kimeiga/bahunya)     
@@ -107,7 +108,7 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
### BareCSS
* [Repository](https://github.com/longsien/BareCSS)     
-* [Demo (archived)](https://web.archive.org/web/20191010034508/http://barecss.com/)
+* [Demo](https://web.archive.org/web/20191010034508/http://barecss.com/)
[](screenshot/barecss.png)
@@ -160,9 +161,7 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
[](screenshot/latex.png)
-### Markdown CSS
-
-#### Air
+### Markdown CSS — Air
* [Repository](https://github.com/markdowncss/air)     
* [Demo](https://markdowncss.github.io/air/)
@@ -170,7 +169,7 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
[](screenshot/markdowncss-air.png)
-#### Modest
+### Markdown CSS — Modest
* [Repository](https://github.com/markdowncss/modest)     
* [Demo](https://markdowncss.github.io/modest/)
@@ -178,7 +177,7 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
[](screenshot/markdowncss-modest.png)
-#### Retro
+### Markdown CSS — Retro
* [Repository](https://github.com/markdowncss/retro)     
* [Demo](https://markdowncss.github.io/retro/)
@@ -186,7 +185,7 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
[](screenshot/markdowncss-retro.png)
-#### Splendor
+### Markdown CSS — Splendor
* [Repository](https://github.com/markdowncss/splendor)     
* [Demo](https://markdowncss.github.io/splendor/)
@@ -236,8 +235,6 @@ This is a list of classless CSS themes and frameworks. "Classless" means a styl
### Pico.css
-Pico.css also has a class-light version, which is its main version.
-
* [Repository](https://github.com/picocss/pico)     
* [Demo](https://picocss.com/examples/preview/)
diff --git a/README.md.in b/README.md.in
new file mode 100644
index 0000000..368325f
--- /dev/null
+++ b/README.md.in
@@ -0,0 +1,32 @@
+# Classless CSS
+
+This is a list of classless CSS themes and frameworks. "Classless" means a style sheet does not define special classes you must add to your HTML elements to style these elements. As a result, you can style any plain-HTML page just by linking to the style sheet. This is useful, for example, in prototyping.
+
+
+## Contents
+
+%TOC%
+
+
+## Classless
+
+%CLASSLESS%
+
+
+## Class-light
+
+These are frameworks that do not force you to apply their classes to many elements but require something like `
` or a bit of your own CSS for a page to look right. They may offer optional classes to style your content.
+
+%CLASS-LIGHT%
+
+
+## See also
+
+* [Drop-in switcher for previewing minimal CSS frameworks](https://github.com/dohliam/dropin-minimal-css)
+
+
+## License
+
+[](https://creativecommons.org/publicdomain/zero/1.0/)
+
+To the extent possible under law, dbohdan has waived all copyright and related or neighboring rights to this work.
diff --git a/data/class-light/chota/demo b/data/class-light/chota/demo
new file mode 100644
index 0000000..167e20d
--- /dev/null
+++ b/data/class-light/chota/demo
@@ -0,0 +1 @@
+https://jenil.github.io/chota/
\ No newline at end of file
diff --git a/data/class-light/chota/github b/data/class-light/chota/github
new file mode 100644
index 0000000..1cadcc9
--- /dev/null
+++ b/data/class-light/chota/github
@@ -0,0 +1 @@
+jenil/chota
\ No newline at end of file
diff --git a/data/class-light/chota/name b/data/class-light/chota/name
new file mode 100644
index 0000000..812f169
--- /dev/null
+++ b/data/class-light/chota/name
@@ -0,0 +1 @@
+Chota
\ No newline at end of file
diff --git a/data/class-light/chota/screenshots b/data/class-light/chota/screenshots
new file mode 100644
index 0000000..fafacd8
--- /dev/null
+++ b/data/class-light/chota/screenshots
@@ -0,0 +1 @@
+chota.png
\ No newline at end of file
diff --git a/data/class-light/milligram/demo b/data/class-light/milligram/demo
new file mode 100644
index 0000000..7dbccdc
--- /dev/null
+++ b/data/class-light/milligram/demo
@@ -0,0 +1 @@
+https://milligram.io/
\ No newline at end of file
diff --git a/data/class-light/milligram/github b/data/class-light/milligram/github
new file mode 100644
index 0000000..c31f5cf
--- /dev/null
+++ b/data/class-light/milligram/github
@@ -0,0 +1 @@
+milligram/milligram
\ No newline at end of file
diff --git a/data/class-light/milligram/name b/data/class-light/milligram/name
new file mode 100644
index 0000000..8f09c02
--- /dev/null
+++ b/data/class-light/milligram/name
@@ -0,0 +1 @@
+Milligram
\ No newline at end of file
diff --git a/data/class-light/milligram/screenshots b/data/class-light/milligram/screenshots
new file mode 100644
index 0000000..8b37fe7
--- /dev/null
+++ b/data/class-light/milligram/screenshots
@@ -0,0 +1 @@
+milligram.png
\ No newline at end of file
diff --git a/data/class-light/minicss/demo b/data/class-light/minicss/demo
new file mode 100644
index 0000000..bd86065
--- /dev/null
+++ b/data/class-light/minicss/demo
@@ -0,0 +1 @@
+https://minicss.org/docs
\ No newline at end of file
diff --git a/data/class-light/minicss/github b/data/class-light/minicss/github
new file mode 100644
index 0000000..744d868
--- /dev/null
+++ b/data/class-light/minicss/github
@@ -0,0 +1 @@
+Chalarangelo/mini.css
\ No newline at end of file
diff --git a/data/class-light/minicss/name b/data/class-light/minicss/name
new file mode 100644
index 0000000..f2e1c87
--- /dev/null
+++ b/data/class-light/minicss/name
@@ -0,0 +1 @@
+mini.css
\ No newline at end of file
diff --git a/data/class-light/minicss/screenshots b/data/class-light/minicss/screenshots
new file mode 100644
index 0000000..7000b29
--- /dev/null
+++ b/data/class-light/minicss/screenshots
@@ -0,0 +1 @@
+minicss.png
\ No newline at end of file
diff --git a/data/class-light/picnic/demo b/data/class-light/picnic/demo
new file mode 100644
index 0000000..b1b1cb0
--- /dev/null
+++ b/data/class-light/picnic/demo
@@ -0,0 +1 @@
+http://picnicss.com/
\ No newline at end of file
diff --git a/data/class-light/picnic/github b/data/class-light/picnic/github
new file mode 100644
index 0000000..9969503
--- /dev/null
+++ b/data/class-light/picnic/github
@@ -0,0 +1 @@
+franciscop/picnic
\ No newline at end of file
diff --git a/data/class-light/picnic/name b/data/class-light/picnic/name
new file mode 100644
index 0000000..83bbebf
--- /dev/null
+++ b/data/class-light/picnic/name
@@ -0,0 +1 @@
+Picnic CSS
\ No newline at end of file
diff --git a/data/class-light/picnic/screenshots b/data/class-light/picnic/screenshots
new file mode 100644
index 0000000..105410a
--- /dev/null
+++ b/data/class-light/picnic/screenshots
@@ -0,0 +1 @@
+picnic.png
\ No newline at end of file
diff --git a/data/class-light/wing/demo b/data/class-light/wing/demo
new file mode 100644
index 0000000..434e719
--- /dev/null
+++ b/data/class-light/wing/demo
@@ -0,0 +1 @@
+https://kbrsh.github.io/wing/
\ No newline at end of file
diff --git a/data/class-light/wing/github b/data/class-light/wing/github
new file mode 100644
index 0000000..e0054c9
--- /dev/null
+++ b/data/class-light/wing/github
@@ -0,0 +1 @@
+kbrsh/wing
\ No newline at end of file
diff --git a/data/class-light/wing/name b/data/class-light/wing/name
new file mode 100644
index 0000000..2c1492a
--- /dev/null
+++ b/data/class-light/wing/name
@@ -0,0 +1 @@
+Wing
\ No newline at end of file
diff --git a/data/class-light/wing/screenshots b/data/class-light/wing/screenshots
new file mode 100644
index 0000000..3d19f9c
--- /dev/null
+++ b/data/class-light/wing/screenshots
@@ -0,0 +1 @@
+wing.png
\ No newline at end of file
diff --git a/data/classless/attricss/demo b/data/classless/attricss/demo
new file mode 100644
index 0000000..306b2e2
--- /dev/null
+++ b/data/classless/attricss/demo
@@ -0,0 +1 @@
+https://raj457036.github.io/attriCSS/
\ No newline at end of file
diff --git a/data/classless/attricss/github b/data/classless/attricss/github
new file mode 100644
index 0000000..91ad497
--- /dev/null
+++ b/data/classless/attricss/github
@@ -0,0 +1 @@
+raj457036/attriCSS
\ No newline at end of file
diff --git a/data/classless/attricss/name b/data/classless/attricss/name
new file mode 100644
index 0000000..36da610
--- /dev/null
+++ b/data/classless/attricss/name
@@ -0,0 +1 @@
+attriCSS
\ No newline at end of file
diff --git a/data/classless/attricss/screenshots b/data/classless/attricss/screenshots
new file mode 100644
index 0000000..c8947ee
--- /dev/null
+++ b/data/classless/attricss/screenshots
@@ -0,0 +1,5 @@
+attricss-0-brightlight-green.png
+attricss-1-midnight-green.png
+attricss-2-darkforest-green.png
+attricss-3-darkfairy-pink.png
+attricss-4-lightfairy-pink.png
\ No newline at end of file
diff --git a/data/classless/awsm/demo b/data/classless/awsm/demo
new file mode 100644
index 0000000..abd6839
--- /dev/null
+++ b/data/classless/awsm/demo
@@ -0,0 +1 @@
+https://igoradamenko.github.io/awsm.css/elements.html
\ No newline at end of file
diff --git a/data/classless/awsm/github b/data/classless/awsm/github
new file mode 100644
index 0000000..cf391ae
--- /dev/null
+++ b/data/classless/awsm/github
@@ -0,0 +1 @@
+igoradamenko/awsm.css
\ No newline at end of file
diff --git a/data/classless/awsm/name b/data/classless/awsm/name
new file mode 100644
index 0000000..812ac81
--- /dev/null
+++ b/data/classless/awsm/name
@@ -0,0 +1 @@
+awsm.css
\ No newline at end of file
diff --git a/data/classless/awsm/screenshots b/data/classless/awsm/screenshots
new file mode 100644
index 0000000..f7f51a1
--- /dev/null
+++ b/data/classless/awsm/screenshots
@@ -0,0 +1,8 @@
+awsm.css-0.png
+awsm.css-1-gondola.png
+awsm.css-2-mischka.png
+awsm.css-3-big-stone.png
+awsm.css-4-black.png
+awsm.css-5-tasman.png
+awsm.css-6-pastel-pink.png
+awsm.css-7-pearl-lusta.png
\ No newline at end of file
diff --git a/data/classless/axist/demo b/data/classless/axist/demo
new file mode 100644
index 0000000..1c5d6d9
--- /dev/null
+++ b/data/classless/axist/demo
@@ -0,0 +1 @@
+https://ruanmartinelli.github.io/axist/
\ No newline at end of file
diff --git a/data/classless/axist/github b/data/classless/axist/github
new file mode 100644
index 0000000..62255a4
--- /dev/null
+++ b/data/classless/axist/github
@@ -0,0 +1 @@
+ruanmartinelli/axist
\ No newline at end of file
diff --git a/data/classless/axist/name b/data/classless/axist/name
new file mode 100644
index 0000000..f258e67
--- /dev/null
+++ b/data/classless/axist/name
@@ -0,0 +1 @@
+axist
\ No newline at end of file
diff --git a/data/classless/axist/screenshots b/data/classless/axist/screenshots
new file mode 100644
index 0000000..f605463
--- /dev/null
+++ b/data/classless/axist/screenshots
@@ -0,0 +1 @@
+axist.png
\ No newline at end of file
diff --git a/data/classless/bahunya/demo b/data/classless/bahunya/demo
new file mode 100644
index 0000000..4a70f6f
--- /dev/null
+++ b/data/classless/bahunya/demo
@@ -0,0 +1 @@
+https://kimeiga.github.io/bahunya/
\ No newline at end of file
diff --git a/data/classless/bahunya/github b/data/classless/bahunya/github
new file mode 100644
index 0000000..91ca741
--- /dev/null
+++ b/data/classless/bahunya/github
@@ -0,0 +1 @@
+Kimeiga/bahunya
\ No newline at end of file
diff --git a/data/classless/bahunya/name b/data/classless/bahunya/name
new file mode 100644
index 0000000..bf65108
--- /dev/null
+++ b/data/classless/bahunya/name
@@ -0,0 +1 @@
+Bahunya
\ No newline at end of file
diff --git a/data/classless/bahunya/screenshots b/data/classless/bahunya/screenshots
new file mode 100644
index 0000000..3b0eccd
--- /dev/null
+++ b/data/classless/bahunya/screenshots
@@ -0,0 +1 @@
+bahunya.png
\ No newline at end of file
diff --git a/data/classless/bamboo/demo b/data/classless/bamboo/demo
new file mode 100644
index 0000000..3a8ebb9
--- /dev/null
+++ b/data/classless/bamboo/demo
@@ -0,0 +1 @@
+https://rilwis.github.io/bamboo/demo/
\ No newline at end of file
diff --git a/data/classless/bamboo/github b/data/classless/bamboo/github
new file mode 100644
index 0000000..99fc25e
--- /dev/null
+++ b/data/classless/bamboo/github
@@ -0,0 +1 @@
+rilwis/bamboo
\ No newline at end of file
diff --git a/data/classless/bamboo/name b/data/classless/bamboo/name
new file mode 100644
index 0000000..9908e77
--- /dev/null
+++ b/data/classless/bamboo/name
@@ -0,0 +1 @@
+Bamboo CSS
\ No newline at end of file
diff --git a/data/classless/bamboo/screenshots b/data/classless/bamboo/screenshots
new file mode 100644
index 0000000..c94dc60
--- /dev/null
+++ b/data/classless/bamboo/screenshots
@@ -0,0 +1 @@
+bamboo-css.png
\ No newline at end of file
diff --git a/data/classless/barecss/demo b/data/classless/barecss/demo
new file mode 100644
index 0000000..5c28b2e
--- /dev/null
+++ b/data/classless/barecss/demo
@@ -0,0 +1 @@
+https://web.archive.org/web/20191010034508/http://barecss.com/
\ No newline at end of file
diff --git a/data/classless/barecss/github b/data/classless/barecss/github
new file mode 100644
index 0000000..7265287
--- /dev/null
+++ b/data/classless/barecss/github
@@ -0,0 +1 @@
+longsien/BareCSS
\ No newline at end of file
diff --git a/data/classless/barecss/name b/data/classless/barecss/name
new file mode 100644
index 0000000..b8b1e96
--- /dev/null
+++ b/data/classless/barecss/name
@@ -0,0 +1 @@
+BareCSS
\ No newline at end of file
diff --git a/data/classless/barecss/screenshots b/data/classless/barecss/screenshots
new file mode 100644
index 0000000..937a07c
--- /dev/null
+++ b/data/classless/barecss/screenshots
@@ -0,0 +1 @@
+barecss.png
\ No newline at end of file
diff --git a/data/classless/basic.css/demo b/data/classless/basic.css/demo
new file mode 100644
index 0000000..70380f9
--- /dev/null
+++ b/data/classless/basic.css/demo
@@ -0,0 +1 @@
+https://vladocar.github.io/Basic.css/
\ No newline at end of file
diff --git a/data/classless/basic.css/github b/data/classless/basic.css/github
new file mode 100644
index 0000000..02f8e43
--- /dev/null
+++ b/data/classless/basic.css/github
@@ -0,0 +1 @@
+vladocar/Basic.css
\ No newline at end of file
diff --git a/data/classless/basic.css/name b/data/classless/basic.css/name
new file mode 100644
index 0000000..93f3a55
--- /dev/null
+++ b/data/classless/basic.css/name
@@ -0,0 +1 @@
+Basic.css
\ No newline at end of file
diff --git a/data/classless/basic.css/screenshots b/data/classless/basic.css/screenshots
new file mode 100644
index 0000000..dfef618
--- /dev/null
+++ b/data/classless/basic.css/screenshots
@@ -0,0 +1 @@
+basic.css.png
\ No newline at end of file
diff --git a/data/classless/classless.css/demo b/data/classless/classless.css/demo
new file mode 100644
index 0000000..157a0a4
--- /dev/null
+++ b/data/classless/classless.css/demo
@@ -0,0 +1 @@
+http://classless.de/
\ No newline at end of file
diff --git a/data/classless/classless.css/github b/data/classless/classless.css/github
new file mode 100644
index 0000000..2d7204d
--- /dev/null
+++ b/data/classless/classless.css/github
@@ -0,0 +1 @@
+emareg/classlesscss
\ No newline at end of file
diff --git a/data/classless/classless.css/name b/data/classless/classless.css/name
new file mode 100644
index 0000000..0de43c3
--- /dev/null
+++ b/data/classless/classless.css/name
@@ -0,0 +1 @@
+Classless.css
\ No newline at end of file
diff --git a/data/classless/classless.css/screenshots b/data/classless/classless.css/screenshots
new file mode 100644
index 0000000..6e00e98
--- /dev/null
+++ b/data/classless/classless.css/screenshots
@@ -0,0 +1 @@
+classless.css.png
\ No newline at end of file
diff --git a/data/classless/concrete.css/demo b/data/classless/concrete.css/demo
new file mode 100644
index 0000000..48f988c
--- /dev/null
+++ b/data/classless/concrete.css/demo
@@ -0,0 +1 @@
+https://concrete.style/
\ No newline at end of file
diff --git a/data/classless/concrete.css/github b/data/classless/concrete.css/github
new file mode 100644
index 0000000..11d55e9
--- /dev/null
+++ b/data/classless/concrete.css/github
@@ -0,0 +1 @@
+louismerlin/concrete.css
\ No newline at end of file
diff --git a/data/classless/concrete.css/name b/data/classless/concrete.css/name
new file mode 100644
index 0000000..b3b24fa
--- /dev/null
+++ b/data/classless/concrete.css/name
@@ -0,0 +1 @@
+concrete.css
\ No newline at end of file
diff --git a/data/classless/concrete.css/screenshots b/data/classless/concrete.css/screenshots
new file mode 100644
index 0000000..dbc9c06
--- /dev/null
+++ b/data/classless/concrete.css/screenshots
@@ -0,0 +1 @@
+concrete.css.png
\ No newline at end of file
diff --git a/data/classless/downstyler/demo b/data/classless/downstyler/demo
new file mode 100644
index 0000000..216a9d2
--- /dev/null
+++ b/data/classless/downstyler/demo
@@ -0,0 +1 @@
+https://waldyrious.github.io/downstyler
\ No newline at end of file
diff --git a/data/classless/downstyler/github b/data/classless/downstyler/github
new file mode 100644
index 0000000..68982a9
--- /dev/null
+++ b/data/classless/downstyler/github
@@ -0,0 +1 @@
+waldyrious/downstyler
\ No newline at end of file
diff --git a/data/classless/downstyler/name b/data/classless/downstyler/name
new file mode 100644
index 0000000..0472452
--- /dev/null
+++ b/data/classless/downstyler/name
@@ -0,0 +1 @@
+Downstyler
\ No newline at end of file
diff --git a/data/classless/downstyler/screenshots b/data/classless/downstyler/screenshots
new file mode 100644
index 0000000..28a84ee
--- /dev/null
+++ b/data/classless/downstyler/screenshots
@@ -0,0 +1 @@
+downstyler.png
\ No newline at end of file
diff --git a/data/classless/holiday.css/demo b/data/classless/holiday.css/demo
new file mode 100644
index 0000000..9f22bab
--- /dev/null
+++ b/data/classless/holiday.css/demo
@@ -0,0 +1 @@
+https://holidaycss.js.org/
\ No newline at end of file
diff --git a/data/classless/holiday.css/github b/data/classless/holiday.css/github
new file mode 100644
index 0000000..9b15b1e
--- /dev/null
+++ b/data/classless/holiday.css/github
@@ -0,0 +1 @@
+EvgenyOrekhov/holiday.css
\ No newline at end of file
diff --git a/data/classless/holiday.css/name b/data/classless/holiday.css/name
new file mode 100644
index 0000000..6af62a2
--- /dev/null
+++ b/data/classless/holiday.css/name
@@ -0,0 +1 @@
+holiday.css
\ No newline at end of file
diff --git a/data/classless/holiday.css/screenshots b/data/classless/holiday.css/screenshots
new file mode 100644
index 0000000..66cd333
--- /dev/null
+++ b/data/classless/holiday.css/screenshots
@@ -0,0 +1 @@
+holiday.css.png
\ No newline at end of file
diff --git a/data/classless/latex/demo b/data/classless/latex/demo
new file mode 100644
index 0000000..ecdb5a2
--- /dev/null
+++ b/data/classless/latex/demo
@@ -0,0 +1 @@
+https://davidrzs.github.io/latexcss/
\ No newline at end of file
diff --git a/data/classless/latex/github b/data/classless/latex/github
new file mode 100644
index 0000000..b9e989e
--- /dev/null
+++ b/data/classless/latex/github
@@ -0,0 +1 @@
+davidrzs/latexcss
\ No newline at end of file
diff --git a/data/classless/latex/name b/data/classless/latex/name
new file mode 100644
index 0000000..b4468a9
--- /dev/null
+++ b/data/classless/latex/name
@@ -0,0 +1 @@
+LatexCSS
\ No newline at end of file
diff --git a/data/classless/latex/screenshots b/data/classless/latex/screenshots
new file mode 100644
index 0000000..7f27c26
--- /dev/null
+++ b/data/classless/latex/screenshots
@@ -0,0 +1 @@
+latex.png
\ No newline at end of file
diff --git a/data/classless/markdowncss-air/demo b/data/classless/markdowncss-air/demo
new file mode 100644
index 0000000..f68d905
--- /dev/null
+++ b/data/classless/markdowncss-air/demo
@@ -0,0 +1 @@
+https://markdowncss.github.io/air/
diff --git a/data/classless/markdowncss-air/github b/data/classless/markdowncss-air/github
new file mode 100644
index 0000000..7125fbb
--- /dev/null
+++ b/data/classless/markdowncss-air/github
@@ -0,0 +1 @@
+markdowncss/air
diff --git a/data/classless/markdowncss-air/name b/data/classless/markdowncss-air/name
new file mode 100644
index 0000000..8e28317
--- /dev/null
+++ b/data/classless/markdowncss-air/name
@@ -0,0 +1 @@
+Markdown CSS — Air
diff --git a/data/classless/markdowncss-air/screenshots b/data/classless/markdowncss-air/screenshots
new file mode 100644
index 0000000..eeedc1b
--- /dev/null
+++ b/data/classless/markdowncss-air/screenshots
@@ -0,0 +1 @@
+markdowncss-air.png
diff --git a/data/classless/markdowncss-modest/demo b/data/classless/markdowncss-modest/demo
new file mode 100644
index 0000000..76af399
--- /dev/null
+++ b/data/classless/markdowncss-modest/demo
@@ -0,0 +1 @@
+https://markdowncss.github.io/modest/
diff --git a/data/classless/markdowncss-modest/github b/data/classless/markdowncss-modest/github
new file mode 100644
index 0000000..1781158
--- /dev/null
+++ b/data/classless/markdowncss-modest/github
@@ -0,0 +1 @@
+markdowncss/modest
diff --git a/data/classless/markdowncss-modest/name b/data/classless/markdowncss-modest/name
new file mode 100644
index 0000000..6223f7e
--- /dev/null
+++ b/data/classless/markdowncss-modest/name
@@ -0,0 +1 @@
+Markdown CSS — Modest
diff --git a/data/classless/markdowncss-modest/screenshots b/data/classless/markdowncss-modest/screenshots
new file mode 100644
index 0000000..3565b3c
--- /dev/null
+++ b/data/classless/markdowncss-modest/screenshots
@@ -0,0 +1 @@
+markdowncss-modest.png
diff --git a/data/classless/markdowncss-retro/demo b/data/classless/markdowncss-retro/demo
new file mode 100644
index 0000000..5dfe3a6
--- /dev/null
+++ b/data/classless/markdowncss-retro/demo
@@ -0,0 +1 @@
+https://markdowncss.github.io/retro/
diff --git a/data/classless/markdowncss-retro/github b/data/classless/markdowncss-retro/github
new file mode 100644
index 0000000..52422f5
--- /dev/null
+++ b/data/classless/markdowncss-retro/github
@@ -0,0 +1 @@
+markdowncss/retro
diff --git a/data/classless/markdowncss-retro/name b/data/classless/markdowncss-retro/name
new file mode 100644
index 0000000..25bd827
--- /dev/null
+++ b/data/classless/markdowncss-retro/name
@@ -0,0 +1 @@
+Markdown CSS — Retro
diff --git a/data/classless/markdowncss-retro/screenshots b/data/classless/markdowncss-retro/screenshots
new file mode 100644
index 0000000..64342c6
--- /dev/null
+++ b/data/classless/markdowncss-retro/screenshots
@@ -0,0 +1 @@
+markdowncss-retro.png
diff --git a/data/classless/markdowncss-splendor/demo b/data/classless/markdowncss-splendor/demo
new file mode 100644
index 0000000..5a45753
--- /dev/null
+++ b/data/classless/markdowncss-splendor/demo
@@ -0,0 +1 @@
+https://markdowncss.github.io/splendor/
\ No newline at end of file
diff --git a/data/classless/markdowncss-splendor/github b/data/classless/markdowncss-splendor/github
new file mode 100644
index 0000000..ce58897
--- /dev/null
+++ b/data/classless/markdowncss-splendor/github
@@ -0,0 +1 @@
+markdowncss/splendor
\ No newline at end of file
diff --git a/data/classless/markdowncss-splendor/name b/data/classless/markdowncss-splendor/name
new file mode 100644
index 0000000..604454e
--- /dev/null
+++ b/data/classless/markdowncss-splendor/name
@@ -0,0 +1 @@
+Markdown CSS — Splendor
diff --git a/data/classless/markdowncss-splendor/screenshots b/data/classless/markdowncss-splendor/screenshots
new file mode 100644
index 0000000..c3298b6
--- /dev/null
+++ b/data/classless/markdowncss-splendor/screenshots
@@ -0,0 +1 @@
+markdowncss-splendor.png
\ No newline at end of file
diff --git a/data/classless/marx/demo b/data/classless/marx/demo
new file mode 100644
index 0000000..edbb43a
--- /dev/null
+++ b/data/classless/marx/demo
@@ -0,0 +1 @@
+https://codepen.io/mblode/details/JdYbJj
\ No newline at end of file
diff --git a/data/classless/marx/github b/data/classless/marx/github
new file mode 100644
index 0000000..f7cfa09
--- /dev/null
+++ b/data/classless/marx/github
@@ -0,0 +1 @@
+mblode/marx
\ No newline at end of file
diff --git a/data/classless/marx/name b/data/classless/marx/name
new file mode 100644
index 0000000..c26595c
--- /dev/null
+++ b/data/classless/marx/name
@@ -0,0 +1 @@
+Marx
\ No newline at end of file
diff --git a/data/classless/marx/screenshots b/data/classless/marx/screenshots
new file mode 100644
index 0000000..3eafae0
--- /dev/null
+++ b/data/classless/marx/screenshots
@@ -0,0 +1 @@
+marx.png
\ No newline at end of file
diff --git a/data/classless/mercurycss/demo b/data/classless/mercurycss/demo
new file mode 100644
index 0000000..6db0892
--- /dev/null
+++ b/data/classless/mercurycss/demo
@@ -0,0 +1 @@
+https://wmeredith.github.io/MercuryCSS/
\ No newline at end of file
diff --git a/data/classless/mercurycss/github b/data/classless/mercurycss/github
new file mode 100644
index 0000000..73fe0b4
--- /dev/null
+++ b/data/classless/mercurycss/github
@@ -0,0 +1 @@
+wmeredith/MercuryCSS
\ No newline at end of file
diff --git a/data/classless/mercurycss/name b/data/classless/mercurycss/name
new file mode 100644
index 0000000..7927345
--- /dev/null
+++ b/data/classless/mercurycss/name
@@ -0,0 +1 @@
+MercuryCSS
\ No newline at end of file
diff --git a/data/classless/mercurycss/screenshots b/data/classless/mercurycss/screenshots
new file mode 100644
index 0000000..44ad62a
--- /dev/null
+++ b/data/classless/mercurycss/screenshots
@@ -0,0 +1 @@
+mercurycss.png
\ No newline at end of file
diff --git a/data/classless/mvp.css/demo b/data/classless/mvp.css/demo
new file mode 100644
index 0000000..301f9c6
--- /dev/null
+++ b/data/classless/mvp.css/demo
@@ -0,0 +1 @@
+https://andybrewer.github.io/mvp/
\ No newline at end of file
diff --git a/data/classless/mvp.css/github b/data/classless/mvp.css/github
new file mode 100644
index 0000000..fafdd1a
--- /dev/null
+++ b/data/classless/mvp.css/github
@@ -0,0 +1 @@
+andybrewer/mvp
\ No newline at end of file
diff --git a/data/classless/mvp.css/name b/data/classless/mvp.css/name
new file mode 100644
index 0000000..d4bf753
--- /dev/null
+++ b/data/classless/mvp.css/name
@@ -0,0 +1 @@
+MVP.css
\ No newline at end of file
diff --git a/data/classless/mvp.css/screenshots b/data/classless/mvp.css/screenshots
new file mode 100644
index 0000000..7bfb9f9
--- /dev/null
+++ b/data/classless/mvp.css/screenshots
@@ -0,0 +1 @@
+mvp.css.png
\ No newline at end of file
diff --git a/data/classless/new.css/demo b/data/classless/new.css/demo
new file mode 100644
index 0000000..810e841
--- /dev/null
+++ b/data/classless/new.css/demo
@@ -0,0 +1 @@
+https://newcss.net/demo/
\ No newline at end of file
diff --git a/data/classless/new.css/github b/data/classless/new.css/github
new file mode 100644
index 0000000..6af77d8
--- /dev/null
+++ b/data/classless/new.css/github
@@ -0,0 +1 @@
+xz/new.css
\ No newline at end of file
diff --git a/data/classless/new.css/name b/data/classless/new.css/name
new file mode 100644
index 0000000..aead7f5
--- /dev/null
+++ b/data/classless/new.css/name
@@ -0,0 +1 @@
+new.css
\ No newline at end of file
diff --git a/data/classless/new.css/screenshots b/data/classless/new.css/screenshots
new file mode 100644
index 0000000..5d871cb
--- /dev/null
+++ b/data/classless/new.css/screenshots
@@ -0,0 +1 @@
+new.css.png
\ No newline at end of file
diff --git a/data/classless/no-class/demo b/data/classless/no-class/demo
new file mode 100644
index 0000000..ffb69dd
--- /dev/null
+++ b/data/classless/no-class/demo
@@ -0,0 +1 @@
+https://davidpaulsson.se/no-class/
\ No newline at end of file
diff --git a/data/classless/no-class/github b/data/classless/no-class/github
new file mode 100644
index 0000000..da58a70
--- /dev/null
+++ b/data/classless/no-class/github
@@ -0,0 +1 @@
+davidpaulsson/no-class
\ No newline at end of file
diff --git a/data/classless/no-class/name b/data/classless/no-class/name
new file mode 100644
index 0000000..d0a9dc9
--- /dev/null
+++ b/data/classless/no-class/name
@@ -0,0 +1 @@
+no-class.css
\ No newline at end of file
diff --git a/data/classless/no-class/screenshots b/data/classless/no-class/screenshots
new file mode 100644
index 0000000..ca9711a
--- /dev/null
+++ b/data/classless/no-class/screenshots
@@ -0,0 +1 @@
+no-class.css.png
\ No newline at end of file
diff --git a/data/classless/pico/demo b/data/classless/pico/demo
new file mode 100644
index 0000000..dd40f7c
--- /dev/null
+++ b/data/classless/pico/demo
@@ -0,0 +1 @@
+https://picocss.com/examples/preview/
\ No newline at end of file
diff --git a/data/classless/pico/github b/data/classless/pico/github
new file mode 100644
index 0000000..330149d
--- /dev/null
+++ b/data/classless/pico/github
@@ -0,0 +1 @@
+picocss/pico
\ No newline at end of file
diff --git a/data/classless/pico/name b/data/classless/pico/name
new file mode 100644
index 0000000..cb66e1e
--- /dev/null
+++ b/data/classless/pico/name
@@ -0,0 +1 @@
+Pico.css
\ No newline at end of file
diff --git a/data/classless/pico/screenshots b/data/classless/pico/screenshots
new file mode 100644
index 0000000..e5a6d87
--- /dev/null
+++ b/data/classless/pico/screenshots
@@ -0,0 +1 @@
+pico-css.png
\ No newline at end of file
diff --git a/data/classless/ridge/demo b/data/classless/ridge/demo
new file mode 100644
index 0000000..a92e04d
--- /dev/null
+++ b/data/classless/ridge/demo
@@ -0,0 +1 @@
+https://ridgecss.com/
\ No newline at end of file
diff --git a/data/classless/ridge/github b/data/classless/ridge/github
new file mode 100644
index 0000000..0243f38
--- /dev/null
+++ b/data/classless/ridge/github
@@ -0,0 +1 @@
+swlkr/ridgecss
\ No newline at end of file
diff --git a/data/classless/ridge/name b/data/classless/ridge/name
new file mode 100644
index 0000000..c8684e3
--- /dev/null
+++ b/data/classless/ridge/name
@@ -0,0 +1 @@
+ridge.css
\ No newline at end of file
diff --git a/data/classless/ridge/screenshots b/data/classless/ridge/screenshots
new file mode 100644
index 0000000..10b7de1
--- /dev/null
+++ b/data/classless/ridge/screenshots
@@ -0,0 +1,2 @@
+ridge.css-light.png
+ridge.css-dark.png
\ No newline at end of file
diff --git a/data/classless/sakura/demo b/data/classless/sakura/demo
new file mode 100644
index 0000000..bedefde
--- /dev/null
+++ b/data/classless/sakura/demo
@@ -0,0 +1 @@
+https://oxal.org/projects/sakura/demo/
\ No newline at end of file
diff --git a/data/classless/sakura/github b/data/classless/sakura/github
new file mode 100644
index 0000000..8f003e4
--- /dev/null
+++ b/data/classless/sakura/github
@@ -0,0 +1 @@
+oxalorg/sakura
\ No newline at end of file
diff --git a/data/classless/sakura/name b/data/classless/sakura/name
new file mode 100644
index 0000000..ab97e32
--- /dev/null
+++ b/data/classless/sakura/name
@@ -0,0 +1 @@
+sakura
\ No newline at end of file
diff --git a/data/classless/sakura/screenshots b/data/classless/sakura/screenshots
new file mode 100644
index 0000000..ffc5d30
--- /dev/null
+++ b/data/classless/sakura/screenshots
@@ -0,0 +1,5 @@
+sakura-normalize-0.png
+sakura-normalize-1-earthly.png
+sakura-normalize-2-vader.png
+sakura-normalize-3-dark.png
+sakura-normalize-4-dark-solarized.png
\ No newline at end of file
diff --git a/data/classless/simple/demo b/data/classless/simple/demo
new file mode 100644
index 0000000..41b9ef4
--- /dev/null
+++ b/data/classless/simple/demo
@@ -0,0 +1 @@
+https://simplecss.org/demo
\ No newline at end of file
diff --git a/data/classless/simple/github b/data/classless/simple/github
new file mode 100644
index 0000000..5cf50c2
--- /dev/null
+++ b/data/classless/simple/github
@@ -0,0 +1 @@
+kevquirk/simple.css
\ No newline at end of file
diff --git a/data/classless/simple/name b/data/classless/simple/name
new file mode 100644
index 0000000..2d20f85
--- /dev/null
+++ b/data/classless/simple/name
@@ -0,0 +1 @@
+Simple.css
\ No newline at end of file
diff --git a/data/classless/simple/screenshots b/data/classless/simple/screenshots
new file mode 100644
index 0000000..2a75697
--- /dev/null
+++ b/data/classless/simple/screenshots
@@ -0,0 +1 @@
+simple-css.png
\ No newline at end of file
diff --git a/data/classless/spcss/demo b/data/classless/spcss/demo
new file mode 100644
index 0000000..cebf90c
--- /dev/null
+++ b/data/classless/spcss/demo
@@ -0,0 +1 @@
+https://susam.github.io/spcss/
\ No newline at end of file
diff --git a/data/classless/spcss/github b/data/classless/spcss/github
new file mode 100644
index 0000000..f4a9b86
--- /dev/null
+++ b/data/classless/spcss/github
@@ -0,0 +1 @@
+susam/spcss
\ No newline at end of file
diff --git a/data/classless/spcss/name b/data/classless/spcss/name
new file mode 100644
index 0000000..f9682aa
--- /dev/null
+++ b/data/classless/spcss/name
@@ -0,0 +1 @@
+SPCSS
\ No newline at end of file
diff --git a/data/classless/spcss/screenshots b/data/classless/spcss/screenshots
new file mode 100644
index 0000000..49c3c6f
--- /dev/null
+++ b/data/classless/spcss/screenshots
@@ -0,0 +1 @@
+spcss.png
\ No newline at end of file
diff --git a/data/classless/style.css/demo b/data/classless/style.css/demo
new file mode 100644
index 0000000..5b53e40
--- /dev/null
+++ b/data/classless/style.css/demo
@@ -0,0 +1 @@
+https://css-pkg.github.io/style.css/
\ No newline at end of file
diff --git a/data/classless/style.css/github b/data/classless/style.css/github
new file mode 100644
index 0000000..79b2203
--- /dev/null
+++ b/data/classless/style.css/github
@@ -0,0 +1 @@
+css-pkg/style.css
\ No newline at end of file
diff --git a/data/classless/style.css/name b/data/classless/style.css/name
new file mode 100644
index 0000000..f6b71cc
--- /dev/null
+++ b/data/classless/style.css/name
@@ -0,0 +1 @@
+style.css
\ No newline at end of file
diff --git a/data/classless/style.css/screenshots b/data/classless/style.css/screenshots
new file mode 100644
index 0000000..a5ec372
--- /dev/null
+++ b/data/classless/style.css/screenshots
@@ -0,0 +1 @@
+style.css.png
\ No newline at end of file
diff --git a/data/classless/stylize.css/demo b/data/classless/stylize.css/demo
new file mode 100644
index 0000000..6eb8e21
--- /dev/null
+++ b/data/classless/stylize.css/demo
@@ -0,0 +1 @@
+https://vasanthv.github.io/stylize.css/demo.html
\ No newline at end of file
diff --git a/data/classless/stylize.css/github b/data/classless/stylize.css/github
new file mode 100644
index 0000000..a751477
--- /dev/null
+++ b/data/classless/stylize.css/github
@@ -0,0 +1 @@
+vasanthv/stylize.css
\ No newline at end of file
diff --git a/data/classless/stylize.css/name b/data/classless/stylize.css/name
new file mode 100644
index 0000000..dc47e0c
--- /dev/null
+++ b/data/classless/stylize.css/name
@@ -0,0 +1 @@
+Stylize.css
\ No newline at end of file
diff --git a/data/classless/stylize.css/screenshots b/data/classless/stylize.css/screenshots
new file mode 100644
index 0000000..4b2702c
--- /dev/null
+++ b/data/classless/stylize.css/screenshots
@@ -0,0 +1 @@
+stylize.css.png
\ No newline at end of file
diff --git a/data/classless/tacit/demo b/data/classless/tacit/demo
new file mode 100644
index 0000000..257ba98
--- /dev/null
+++ b/data/classless/tacit/demo
@@ -0,0 +1 @@
+https://yegor256.github.io/tacit/
\ No newline at end of file
diff --git a/data/classless/tacit/github b/data/classless/tacit/github
new file mode 100644
index 0000000..a39c09c
--- /dev/null
+++ b/data/classless/tacit/github
@@ -0,0 +1 @@
+yegor256/tacit
\ No newline at end of file
diff --git a/data/classless/tacit/name b/data/classless/tacit/name
new file mode 100644
index 0000000..b818453
--- /dev/null
+++ b/data/classless/tacit/name
@@ -0,0 +1 @@
+tacit
\ No newline at end of file
diff --git a/data/classless/tacit/screenshots b/data/classless/tacit/screenshots
new file mode 100644
index 0000000..fd2d7d1
--- /dev/null
+++ b/data/classless/tacit/screenshots
@@ -0,0 +1 @@
+tacit.png
\ No newline at end of file
diff --git a/data/classless/tufte/demo b/data/classless/tufte/demo
new file mode 100644
index 0000000..75cd66c
--- /dev/null
+++ b/data/classless/tufte/demo
@@ -0,0 +1 @@
+https://edwardtufte.github.io/tufte-css/
\ No newline at end of file
diff --git a/data/classless/tufte/github b/data/classless/tufte/github
new file mode 100644
index 0000000..1d8701d
--- /dev/null
+++ b/data/classless/tufte/github
@@ -0,0 +1 @@
+edwardtufte/tufte-css
\ No newline at end of file
diff --git a/data/classless/tufte/name b/data/classless/tufte/name
new file mode 100644
index 0000000..b85541b
--- /dev/null
+++ b/data/classless/tufte/name
@@ -0,0 +1 @@
+Tufte CSS
\ No newline at end of file
diff --git a/data/classless/tufte/screenshots b/data/classless/tufte/screenshots
new file mode 100644
index 0000000..c414cbc
--- /dev/null
+++ b/data/classless/tufte/screenshots
@@ -0,0 +1 @@
+tufte-css.png
\ No newline at end of file
diff --git a/data/classless/w3c/demo b/data/classless/w3c/demo
new file mode 100644
index 0000000..b4c3373
--- /dev/null
+++ b/data/classless/w3c/demo
@@ -0,0 +1 @@
+https://www.w3.org/StyleSheets/Core/preview
\ No newline at end of file
diff --git a/data/classless/w3c/name b/data/classless/w3c/name
new file mode 100644
index 0000000..a86f8d8
--- /dev/null
+++ b/data/classless/w3c/name
@@ -0,0 +1 @@
+W3C Core Styles
\ No newline at end of file
diff --git a/data/classless/w3c/screenshots b/data/classless/w3c/screenshots
new file mode 100644
index 0000000..b454095
--- /dev/null
+++ b/data/classless/w3c/screenshots
@@ -0,0 +1,8 @@
+w3c-core-styles-0-oldstyle.png
+w3c-core-styles-1-modernist.png
+w3c-core-styles-2-midnight.png
+w3c-core-styles-3-ultramarine.png
+w3c-core-styles-4-swiss.png
+w3c-core-styles-5-chocolate.png
+w3c-core-styles-6-traditional.png
+w3c-core-styles-7-steely.png
\ No newline at end of file
diff --git a/data/classless/w3c/website b/data/classless/w3c/website
new file mode 100644
index 0000000..324629c
--- /dev/null
+++ b/data/classless/w3c/website
@@ -0,0 +1 @@
+https://www.w3.org/StyleSheets/Core/Overview
\ No newline at end of file
diff --git a/data/classless/water/demo b/data/classless/water/demo
new file mode 100644
index 0000000..e48601f
--- /dev/null
+++ b/data/classless/water/demo
@@ -0,0 +1 @@
+https://kognise.github.io/water.css/
\ No newline at end of file
diff --git a/data/classless/water/github b/data/classless/water/github
new file mode 100644
index 0000000..e55d4f5
--- /dev/null
+++ b/data/classless/water/github
@@ -0,0 +1 @@
+kognise/water.css
\ No newline at end of file
diff --git a/data/classless/water/name b/data/classless/water/name
new file mode 100644
index 0000000..45917c8
--- /dev/null
+++ b/data/classless/water/name
@@ -0,0 +1 @@
+water.css
\ No newline at end of file
diff --git a/data/classless/water/screenshots b/data/classless/water/screenshots
new file mode 100644
index 0000000..2d4f475
--- /dev/null
+++ b/data/classless/water/screenshots
@@ -0,0 +1,2 @@
+water.css-0-dark.png
+water.css-1-light.png
\ No newline at end of file
diff --git a/data/classless/writ/demo b/data/classless/writ/demo
new file mode 100644
index 0000000..144dd2e
--- /dev/null
+++ b/data/classless/writ/demo
@@ -0,0 +1 @@
+https://writ.cmcenroe.me/
\ No newline at end of file
diff --git a/data/classless/writ/github b/data/classless/writ/github
new file mode 100644
index 0000000..83622c3
--- /dev/null
+++ b/data/classless/writ/github
@@ -0,0 +1 @@
+programble/writ
\ No newline at end of file
diff --git a/data/classless/writ/name b/data/classless/writ/name
new file mode 100644
index 0000000..034010f
--- /dev/null
+++ b/data/classless/writ/name
@@ -0,0 +1 @@
+Writ
\ No newline at end of file
diff --git a/data/classless/writ/screenshots b/data/classless/writ/screenshots
new file mode 100644
index 0000000..4081e0e
--- /dev/null
+++ b/data/classless/writ/screenshots
@@ -0,0 +1 @@
+writ.png
\ No newline at end of file
diff --git a/data/classless/yorha/demo b/data/classless/yorha/demo
new file mode 100644
index 0000000..aac5d99
--- /dev/null
+++ b/data/classless/yorha/demo
@@ -0,0 +1 @@
+https://metakirby5.github.io/yorha/
\ No newline at end of file
diff --git a/data/classless/yorha/github b/data/classless/yorha/github
new file mode 100644
index 0000000..9162925
--- /dev/null
+++ b/data/classless/yorha/github
@@ -0,0 +1 @@
+metakirby5/yorha
\ No newline at end of file
diff --git a/data/classless/yorha/name b/data/classless/yorha/name
new file mode 100644
index 0000000..de034a0
--- /dev/null
+++ b/data/classless/yorha/name
@@ -0,0 +1 @@
+YoRHa
\ No newline at end of file
diff --git a/data/classless/yorha/screenshots b/data/classless/yorha/screenshots
new file mode 100644
index 0000000..620b84e
--- /dev/null
+++ b/data/classless/yorha/screenshots
@@ -0,0 +1 @@
+yorha.png
\ No newline at end of file
diff --git a/gen-readme.ts b/gen-readme.ts
new file mode 100755
index 0000000..f72b3f4
--- /dev/null
+++ b/gen-readme.ts
@@ -0,0 +1,92 @@
+#! /usr/bin/env -S deno run --allow-read
+// Generate README.md from data/ and README.md.in.
+
+import markdownTOC from "npm:markdown-toc";
+
+const dataDir = "data";
+const readmeTemplateFile = "README.md.in";
+
+type Item = {
+ demo: string;
+ github: string;
+ name: string;
+ screenshots: string[];
+ website: string;
+};
+
+if (Deno.args.length !== 0) {
+ console.error("usage: generate-readme.ts");
+ Deno.exit(1);
+}
+
+const readData = async (...args: string[]): Promise => {
+ try {
+ const text = await Deno.readTextFile([dataDir, ...args].join("/"));
+ return text.replace(/\n+$/, "");
+ } catch (e) {
+ if (e instanceof Deno.errors.NotFound) {
+ return "";
+ }
+
+ throw e;
+ }
+};
+
+const renderItem = (
+ { demo, github, name, screenshots, website }: Item,
+): string => {
+ const screenshotMarkdown = screenshots.map((filename) =>
+ `[](screenshot/${filename})`
+ ).join("\n");
+
+ return `### ${name}\n\n` +
+ (website === "" ? "" : `* [Website](${website})\n`) +
+ (github === ""
+ ? ""
+ : `* [Repository](https://github.com/${github})     \n`) +
+ `* [Demo](${demo})\n\n${screenshotMarkdown}`;
+};
+
+try {
+ const sections: { [key: string]: string } = {};
+
+ for await (const entry of Deno.readDir(dataDir)) {
+ if (!entry.isDirectory) continue;
+ const sectionDir = entry.name;
+ const items: Item[] = [];
+
+ for await (const entry of Deno.readDir(`${dataDir}/${sectionDir}`)) {
+ if (!entry.isDirectory) continue;
+ const itemDir = entry.name;
+
+ const data: Item = {
+ demo: await readData(sectionDir, itemDir, "demo"),
+ github: await readData(sectionDir, itemDir, "github"),
+ name: await readData(sectionDir, itemDir, "name"),
+ screenshots: (await readData(sectionDir, itemDir, "screenshots")).split(
+ "\n",
+ ),
+ website: await readData(sectionDir, itemDir, "website"),
+ };
+
+ items.push(data);
+ }
+
+ items.sort((a, b) =>
+ a["name"].toLowerCase().localeCompare(b["name"].toLowerCase())
+ );
+ sections[sectionDir] = items.map(renderItem).join("\n\n\n");
+ }
+
+ const template = (await Deno.readTextFile(readmeTemplateFile)).replace(/\n+$/, "");
+ let readme = template;
+
+ for (const [name, markup] of Object.entries(sections)) {
+ readme = readme.replace(`%${name.toUpperCase()}%`, markup);
+ }
+ readme = readme.replace("%TOC%", markdownTOC(readme).content);
+
+ console.log(readme);
+} catch (err) {
+ console.error(err);
+}