diff options
-rw-r--r-- | .gitignore | 16 | ||||
-rw-r--r-- | Makefile | 183 | ||||
-rw-r--r-- | deps.mk | 47 | ||||
-rwxr-xr-x | mkdeps.sh | 30 | ||||
-rw-r--r-- | src/about.adoc | 3 | ||||
-rw-r--r-- | src/atom.svg | 5 | ||||
-rw-r--r-- | src/base.conf | 14 | ||||
-rw-r--r-- | src/blog.adoc | 3 | ||||
-rw-r--r-- | src/blog/1970/01/01/launch.adoc | 29 | ||||
-rw-r--r-- | src/blog/2000/01/01/feature-ann.adoc | 29 | ||||
-rw-r--r-- | src/envelope.svg | 4 | ||||
-rw-r--r-- | src/favicon.svg | 62 | ||||
-rw-r--r-- | src/headers.txt | 4 | ||||
-rw-r--r-- | src/index.adoc | 3 | ||||
-rw-r--r-- | src/link.svg | 5 | ||||
-rw-r--r-- | src/lock.svg | 4 | ||||
-rw-r--r-- | src/pricing.adoc | 3 | ||||
-rw-r--r-- | src/privacy.adoc | 3 | ||||
-rw-r--r-- | src/style.css | 30 | ||||
-rw-r--r-- | src/terms.adoc | 3 |
20 files changed, 480 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c523ba4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +/src/blog/*/*/*/*.htmlbody +/src/blog/*/*/*/*.conf +/src/blog/*/*/*/*.snippets +/src/blog/*/*/*/*.html +/src/blog/*/*/*/*.txt +/src/blog/*/*/*/*.indexentry +/src/blog/*/*/*/*.feedentry +/src/blog/*/*/*/*.sortdata +/src/*.htmlbody +/src/*.conf +/src/*.snippets +/src/*.html +/src/*.txt +/src/*.sortdata +/src/*.xml +/src/*.sentinel diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a2ca0fc --- /dev/null +++ b/Makefile @@ -0,0 +1,183 @@ +.POSIX: +DATE = 1970-01-01 +VERSION = 0.1.0 +NAME = website +NAME_UC = $(NAME) +LANGUAGES = en +## Installation prefix. Defaults to "/usr". +PREFIX = /usr +BINDIR = $(PREFIX)/bin +LIBDIR = $(PREFIX)/lib +INCLUDEDIR = $(PREFIX)/include +SRCDIR = $(PREFIX)/src/$(NAME) +SHAREDIR = $(PREFIX)/share +LOCALEDIR = $(SHAREDIR)/locale +MANDIR = $(SHAREDIR)/man +DOCDIR = $(SHAREDIR)/doc/$(NAME) +EXEC = ./ +## Where to store the installation. Empty by default. +DESTDIR = +LDLIBS = + + + +.SUFFIXES: +.SUFFIXES: .adoc .htmlbody .conf .snippets .html .indexentry .feedentry +.SUFFIXES: .sortdata .xml + +.adoc.conf: + mkwb conf src/base.conf src/global.conf $< > $@ + +.adoc.htmlbody: + mkwb htmlbody $< > $@ + +.htmlbody.html: + mkwb html $< > $@ + +.adoc.snippets: + mkwb snippets $< > $@ + +.conf.indexentry: + mkwb indexentry $< > $@ + +.htmlbody.feedentry: + mkwb feedentry $< > $@ + +.conf.sortdata: + mkwb sortdata $< > $@ + + + +all: +include deps.mk + + +sources.adoc = $(articles.adoc) $(pages.adoc) +sources.htmlbody = $(sources.adoc:.adoc=.htmlbody) +sources.html = $(sources.adoc:.adoc=.html) +sources.snippets = $(sources.adoc:.adoc=.snippets) +sources.conf = $(sources.adoc:.adoc=.conf) +articles.indexentry = $(articles.adoc:.adoc=.indexentry) +articles.feedentry = $(articles.adoc:.adoc=.feedentry) +articles.sortdata = $(articles.adoc:.adoc=.sortdata) + +sources = \ + $(sources.adoc) \ + $(images.svg) \ + src/style.css \ + +contents = \ + $(sources.html) \ + src/atom.xml \ + src/blog.html \ + +static-contents = \ + $(images.svg) \ + src/style.css \ + + +derived-assets = \ + $(contents) \ + $(sources.htmlbody) \ + $(sources.snippets) \ + $(sources.conf) \ + src/global.conf \ + $(articles.indexentry) \ + $(articles.feedentry) \ + $(articles.sortdata) \ + out/.gitignore \ + +side-assets = \ + src/blog/*/*/*/*.html*.txt \ + src/*.html.*.txt \ + src/*.sortdata \ + out/ \ + + + +## Default target. Builds all artifacts required for testing +## and installation. +all: $(derived-assets) + + +$(derived-assets): Makefile deps.mk +$(sources.conf): src/global.conf + + +src/global.conf: src/base.conf + mkwb conf src/base.conf > $@ + +src/atom.xml src/blog.html: $(articles.sortdata) src/base.conf src/global.conf + +src/atom.xml: $(articles.feedentry) + mkwb feed src/base.conf src/global.conf $(articles.sortdata) > $@ + +src/blog.html: $(articles.indexentry) src/blog.htmlbody + mkwb indexbody $*.conf $(articles.sortdata) | cat $*.htmlbody - > $@-t + mkwb html $@-t > $@ + rm -f $@-t + +out/.gitignore: + mkdir -p $(@D) + echo '*' > $@ + + + +check-unit: + + +integration-tests = \ + +.PRECIOUS: $(integration-tests) +$(integration-tests): ALWAYS + sh $@ + +check-integration: $(integration-tests) + + +## Run all tests. Each test suite is isolated, so that a parallel +## build can run tests at the same time. The required artifacts +## are created if missing. +check: check-unit check-integration + + + +## Remove *all* derived artifacts produced during the build. +## A dedicated test asserts that this is always true. +clean: + rm -rf $(derived-assets) $(side-assets) + + +## Installs into $(DESTDIR)$(PREFIX). Its dependency target +## ensures that all installable artifacts are crafted beforehand. +install: all + mkdir -p \ + '$(DESTDIR)$(SRCDIR)' \ + + for f in $(contents) $(static-contents) `cat $(sources.snippets)`; do \ + dir='$(DESTDIR)$(DOCDIR)'/"`dirname "$${f#src/}"`"; \ + mkdir -p "$$dir"; \ + cp -P "$$f" "$$dir"; \ + done + for f in $(sources); do \ + dir='$(DESTDIR)$(SRCDIR)'/"`dirname "$${f#src/}"`"; \ + mkdir -p "$$dir"; \ + cp -P "$$f" "$$dir"; \ + done + +## Uninstalls from $(DESTDIR)$(PREFIX). This is a perfect mirror +## of the "install" target, and removes *all* that was installed. +## A dedicated test asserts that this is always true. +uninstall: + rm -rf \ + '$(DESTDIR)$(SRCDIR)' \ + '$(DESTDIR)$(DOCDIR)' \ + + + +## Run it locally. +run: + serve -n -p 3333 -d out/share/doc/website/ + + +ALWAYS: @@ -0,0 +1,47 @@ +articles.adoc = \ + src/blog/1970/01/01/launch.adoc \ + src/blog/2000/01/01/feature-ann.adoc \ + +pages.adoc = \ + src/about.adoc \ + src/blog.adoc \ + src/index.adoc \ + src/pricing.adoc \ + src/privacy.adoc \ + src/terms.adoc \ + +images.svg = \ + src/atom.svg \ + src/envelope.svg \ + src/favicon.svg \ + src/link.svg \ + src/lock.svg \ + +src/blog/1970/01/01/launch.htmlbody src/blog/1970/01/01/launch.snippets src/blog/1970/01/01/launch.conf: src/blog/1970/01/01/launch.adoc +src/blog/2000/01/01/feature-ann.htmlbody src/blog/2000/01/01/feature-ann.snippets src/blog/2000/01/01/feature-ann.conf: src/blog/2000/01/01/feature-ann.adoc +src/about.htmlbody src/about.snippets src/about.conf: src/about.adoc +src/blog.htmlbody src/blog.snippets src/blog.conf: src/blog.adoc +src/index.htmlbody src/index.snippets src/index.conf: src/index.adoc +src/pricing.htmlbody src/pricing.snippets src/pricing.conf: src/pricing.adoc +src/privacy.htmlbody src/privacy.snippets src/privacy.conf: src/privacy.adoc +src/terms.htmlbody src/terms.snippets src/terms.conf: src/terms.adoc +src/blog/1970/01/01/launch.snippets: src/blog/1970/01/01/launch.adoc +src/blog/2000/01/01/feature-ann.snippets: src/blog/2000/01/01/feature-ann.adoc +src/about.snippets: src/about.adoc +src/blog.snippets: src/blog.adoc +src/index.snippets: src/index.adoc +src/pricing.snippets: src/pricing.adoc +src/privacy.snippets: src/privacy.adoc +src/terms.snippets: src/terms.adoc +src/blog/1970/01/01/launch.html: src/blog/1970/01/01/launch.conf src/blog/1970/01/01/launch.htmlbody +src/blog/2000/01/01/feature-ann.html: src/blog/2000/01/01/feature-ann.conf src/blog/2000/01/01/feature-ann.htmlbody +src/about.html: src/about.conf src/about.htmlbody +src/blog.html: src/blog.conf src/blog.htmlbody +src/index.html: src/index.conf src/index.htmlbody +src/pricing.html: src/pricing.conf src/pricing.htmlbody +src/privacy.html: src/privacy.conf src/privacy.htmlbody +src/terms.html: src/terms.conf src/terms.htmlbody +src/blog/1970/01/01/launch.feedentry: src/blog/1970/01/01/launch.conf src/blog/1970/01/01/launch.htmlbody +src/blog/2000/01/01/feature-ann.feedentry: src/blog/2000/01/01/feature-ann.conf src/blog/2000/01/01/feature-ann.htmlbody +src/blog/1970/01/01/launch.sortdata: src/blog/1970/01/01/launch.conf +src/blog/2000/01/01/feature-ann.sortdata: src/blog/2000/01/01/feature-ann.conf diff --git a/mkdeps.sh b/mkdeps.sh new file mode 100755 index 0000000..f319779 --- /dev/null +++ b/mkdeps.sh @@ -0,0 +1,30 @@ +#!/bin/sh +set -eu + +export LANG=POSIX.UTF-8 + + +articles() { + find src/*/ -type f -name '*.adoc' | sort +} + +pages() { + find src/*.adoc -type f | sort +} + +files() { + articles + pages +} + + +articles | varlist 'articles.adoc' +pages | varlist 'pages.adoc' +find src/*.svg | varlist 'images.svg' + + +files | sed 's/^\(.*\)\.adoc$/\1.htmlbody\t\1.snippets\t\1.conf:\t\1.adoc/' +files | sed 's/^\(.*\)\.adoc$/\1.snippets:\t\1.adoc/' +files | sed 's/^\(.*\)\.adoc$/\1.html:\t\1.conf\t\1.htmlbody/' +articles | sed 's/^\(.*\)\.adoc$/\1.feedentry:\t\1.conf\t\1.htmlbody/' +articles | sed 's/^\(.*\)\.adoc$/\1.sortdata:\t\1.conf/' diff --git a/src/about.adoc b/src/about.adoc new file mode 100644 index 0000000..8f8dd75 --- /dev/null +++ b/src/about.adoc @@ -0,0 +1,3 @@ += About + +== It's a good service diff --git a/src/atom.svg b/src/atom.svg new file mode 100644 index 0000000..37bace2 --- /dev/null +++ b/src/atom.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="22" height="22" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path d="M576 1344q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm512 123q2 28-17 48-18 21-47 21h-135q-25 0-43-16.5t-20-41.5q-22-229-184.5-391.5t-391.5-184.5q-25-2-41.5-20t-16.5-43v-135q0-29 21-47 17-17 43-17h5q160 13 306 80.5t259 181.5q114 113 181.5 259t80.5 306zm512 2q2 27-18 47-18 20-46 20h-143q-26 0-44.5-17.5t-19.5-42.5q-12-215-101-408.5t-231.5-336-336-231.5-408.5-102q-25-1-42.5-19.5t-17.5-43.5v-143q0-28 20-46 18-18 44-18h3q262 13 501.5 120t425.5 294q187 186 294 425.5t120 501.5z" + fill="#EA990E" /> +</svg> diff --git a/src/base.conf b/src/base.conf new file mode 100644 index 0000000..7144806 --- /dev/null +++ b/src/base.conf @@ -0,0 +1,14 @@ +export root_dir=src +export header_links=src/headers.txt +export url_pre='https://papo.im' +export domain='papo.im' +export email='info@papo.im' +export list_addr='~euandreh/papoim@lists.sr.ht' +export discussions_url_prefix='https://lists.sr.ht/~euandreh/papoim?search=' +export sourcecode_url='https://papo.im/git/website' +export sourcecode_url_prefix="$sourcecode_url/tree" +export author='papo.im' +export site_name='papo.im: chat with freedom' +export feed_title='Articles from papo.im' +export feed_url='atom.xml' +export feed_alternate_url='blog.html' diff --git a/src/blog.adoc b/src/blog.adoc new file mode 100644 index 0000000..0694540 --- /dev/null +++ b/src/blog.adoc @@ -0,0 +1,3 @@ += Blog + +== Recent articles link:atom.xml[image:atom.svg[Standard orange RSS feed icon]] diff --git a/src/blog/1970/01/01/launch.adoc b/src/blog/1970/01/01/launch.adoc new file mode 100644 index 0000000..9a57dfe --- /dev/null +++ b/src/blog/1970/01/01/launch.adoc @@ -0,0 +1,29 @@ +//// +export sort=1 +export updatedat=1971-02-03 +//// + += Service launch! That's it "$quote" && more + +//// + +papo.im, the private team chat, is now available + +papo.im, the compatible team chat, is now available + +//// + +== papo.im, the unwalled team chat, is now available + +https://papo.im[papo.im] is the hosted instance of papo and provides paid +services to its users. + +// https://drewdevault.com/2018/11/15/sr.ht-general-availability.html + +== titulo + +primeiro + +== titulo + +segundo diff --git a/src/blog/2000/01/01/feature-ann.adoc b/src/blog/2000/01/01/feature-ann.adoc new file mode 100644 index 0000000..c7c3cca --- /dev/null +++ b/src/blog/2000/01/01/feature-ann.adoc @@ -0,0 +1,29 @@ += Feature announcement + +== New feature X + +X is launched. + +---- +$ ls +---- + +Inline `code` here. + +Block. + +---- +$ seq 10 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +---- + +End. diff --git a/src/envelope.svg b/src/envelope.svg new file mode 100644 index 0000000..c2251f4 --- /dev/null +++ b/src/envelope.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="22" height="22" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path d="M1664 1504v-768q-32 36-69 66-268 206-426 338-51 43-83 67t-86.5 48.5-102.5 24.5h-2q-48 0-102.5-24.5t-86.5-48.5-83-67q-158-132-426-338-37-30-69-66v768q0 13 9.5 22.5t22.5 9.5h1472q13 0 22.5-9.5t9.5-22.5zm0-1051v-24.5l-.5-13-3-12.5-5.5-9-9-7.5-14-2.5h-1472q-13 0-22.5 9.5t-9.5 22.5q0 168 147 284 193 152 401 317 6 5 35 29.5t46 37.5 44.5 31.5 50.5 27.5 43 9h2q20 0 43-9t50.5-27.5 44.5-31.5 46-37.5 35-29.5q208-165 401-317 54-43 100.5-115.5t46.5-131.5zm128-37v1088q0 66-47 113t-113 47h-1472q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1472q66 0 113 47t47 113z" /> +</svg> diff --git a/src/favicon.svg b/src/favicon.svg new file mode 100644 index 0000000..ce566b2 --- /dev/null +++ b/src/favicon.svg @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> + <path d="M 0 8 L 1 8 L 1 9 L 0 9 L 0 8 Z" /> + <path d="M 0 13 L 1 13 L 1 14 L 0 14 L 0 13 Z" /> + <path d="M 1 8 L 2 8 L 2 9 L 1 9 L 1 8 Z" /> + <path d="M 1 13 L 2 13 L 2 14 L 1 14 L 1 13 Z" /> + <path d="M 2 8 L 3 8 L 3 9 L 2 9 L 2 8 Z" /> + <path d="M 2 13 L 3 13 L 3 14 L 2 14 L 2 13 Z" /> + <path d="M 3 8 L 4 8 L 4 9 L 3 9 L 3 8 Z" /> + <path d="M 3 13 L 4 13 L 4 14 L 3 14 L 3 13 Z" /> + <path d="M 4 7 L 5 7 L 5 8 L 4 8 L 4 7 Z" /> + <path d="M 4 8 L 5 8 L 5 9 L 4 9 L 4 8 Z" /> + <path d="M 4 13 L 5 13 L 5 14 L 4 14 L 4 13 Z" /> + <path d="M 5 6 L 6 6 L 6 7 L 5 7 L 5 6 Z" /> + <path d="M 5 7 L 6 7 L 6 8 L 5 8 L 5 7 Z" /> + <path d="M 5 13 L 6 13 L 6 14 L 5 14 L 5 13 Z" /> + <path d="M 6 5 L 7 5 L 7 6 L 6 6 L 6 5 Z" /> + <path d="M 6 6 L 7 6 L 7 7 L 6 7 L 6 6 Z" /> + <path d="M 6 14 L 7 14 L 7 15 L 6 15 L 6 14 Z" /> + <path d="M 7 1 L 8 1 L 8 2 L 7 2 L 7 1 Z" /> + <path d="M 7 14 L 8 14 L 8 15 L 7 15 L 7 14 Z" /> + <path d="M 7 15 L 8 15 L 8 16 L 7 16 L 7 15 Z" /> + <path d="M 7 2 L 8 2 L 8 3 L 7 3 L 7 2 Z" /> + <path d="M 7 3 L 8 3 L 8 4 L 7 4 L 7 3 Z" /> + <path d="M 7 4 L 8 4 L 8 5 L 7 5 L 7 4 Z" /> + <path d="M 7 5 L 8 5 L 8 6 L 7 6 L 7 5 Z" /> + <path d="M 8 1 L 9 1 L 9 2 L 8 2 L 8 1 Z" /> + <path d="M 8 15 L 9 15 L 9 16 L 8 16 L 8 15 Z" /> + <path d="M 9 1 L 10 1 L 10 2 L 9 2 L 9 1 Z" /> + <path d="M 9 2 L 10 2 L 10 3 L 9 3 L 9 2 Z" /> + <path d="M 9 6 L 10 6 L 10 7 L 9 7 L 9 6 Z" /> + <path d="M 9 15 L 10 15 L 10 16 L 9 16 L 9 15 Z" /> + <path d="M 10 2 L 11 2 L 11 3 L 10 3 L 10 2 Z" /> + <path d="M 10 3 L 11 3 L 11 4 L 10 4 L 10 3 Z" /> + <path d="M 10 4 L 11 4 L 11 5 L 10 5 L 10 4 Z" /> + <path d="M 10 5 L 11 5 L 11 6 L 10 6 L 10 5 Z" /> + <path d="M 10 6 L 11 6 L 11 7 L 10 7 L 10 6 Z" /> + <path d="M 11 6 L 12 6 L 12 7 L 11 7 L 11 6 Z" /> + <path d="M 11 8 L 12 8 L 12 9 L 11 9 L 11 8 Z" /> + <path d="M 10 15 L 11 15 L 11 16 L 10 16 L 10 15 Z" /> + <path d="M 11 10 L 12 10 L 12 11 L 11 11 L 11 10 Z" /> + <path d="M 11 12 L 12 12 L 12 13 L 11 13 L 11 12 Z" /> + <path d="M 11 14 L 12 14 L 12 15 L 11 15 L 11 14 Z" /> + <path d="M 11 15 L 12 15 L 12 16 L 11 16 L 11 15 Z" /> + <path d="M 12 6 L 13 6 L 13 7 L 12 7 L 12 6 Z" /> + <path d="M 12 8 L 13 8 L 13 9 L 12 9 L 12 8 Z" /> + <path d="M 12 10 L 13 10 L 13 11 L 12 11 L 12 10 Z" /> + <path d="M 12 12 L 13 12 L 13 13 L 12 13 L 12 12 Z" /> + <path d="M 12 14 L 13 14 L 13 15 L 12 15 L 12 14 Z" /> + <path d="M 13 6 L 14 6 L 14 7 L 13 7 L 13 6 Z" /> + <path d="M 13 8 L 14 8 L 14 9 L 13 9 L 13 8 Z" /> + <path d="M 13 10 L 14 10 L 14 11 L 13 11 L 13 10 Z" /> + <path d="M 13 12 L 14 12 L 14 13 L 13 13 L 13 12 Z" /> + <path d="M 13 13 L 14 13 L 14 14 L 13 14 L 13 13 Z" /> + <path d="M 13 14 L 14 14 L 14 15 L 13 15 L 13 14 Z" /> + <path d="M 14 7 L 15 7 L 15 8 L 14 8 L 14 7 Z" /> + <path d="M 14 8 L 15 8 L 15 9 L 14 9 L 14 8 Z" /> + <path d="M 14 9 L 15 9 L 15 10 L 14 10 L 14 9 Z" /> + <path d="M 14 10 L 15 10 L 15 11 L 14 11 L 14 10 Z" /> + <path d="M 14 11 L 15 11 L 15 12 L 14 12 L 14 11 Z" /> + <path d="M 14 12 L 15 12 L 15 13 L 14 13 L 14 12 Z" /> +</svg> diff --git a/src/headers.txt b/src/headers.txt new file mode 100644 index 0000000..fd144b9 --- /dev/null +++ b/src/headers.txt @@ -0,0 +1,4 @@ +./ Home +blog.html Blog +pricing.html Pricing +about.html About diff --git a/src/index.adoc b/src/index.adoc new file mode 100644 index 0000000..b976139 --- /dev/null +++ b/src/index.adoc @@ -0,0 +1,3 @@ += papo.im + +== Team chat with privacy diff --git a/src/link.svg b/src/link.svg new file mode 100644 index 0000000..e5c7050 --- /dev/null +++ b/src/link.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="22" height="22" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" + d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z" /> +</svg> diff --git a/src/lock.svg b/src/lock.svg new file mode 100644 index 0000000..1a4a18e --- /dev/null +++ b/src/lock.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="22" height="22" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path d="M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z" /> +</svg> diff --git a/src/pricing.adoc b/src/pricing.adoc new file mode 100644 index 0000000..5318ba6 --- /dev/null +++ b/src/pricing.adoc @@ -0,0 +1,3 @@ += Pricing + +It's very affordable, you know? diff --git a/src/privacy.adoc b/src/privacy.adoc new file mode 100644 index 0000000..a77b26c --- /dev/null +++ b/src/privacy.adoc @@ -0,0 +1,3 @@ += Privacy Policy + +// https://man.sr.ht/privacy.md diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..4b8201f --- /dev/null +++ b/src/style.css @@ -0,0 +1,30 @@ +body { + margin: 0px auto; + max-width: 750px; + padding: 1%; +} + +pre, code { + background-color: #ddd; + border-radius: 5px; + padding: 5px; +} + +@media(prefers-color-scheme: dark) { + :root { + color: white; + background-color: black; + } + + a { + color: hsl(211, 100%, 60%); + } + + a:visited { + color: hsl(242, 100%, 80%); + } + + pre, code { + background-color: #222; + } +} diff --git a/src/terms.adoc b/src/terms.adoc new file mode 100644 index 0000000..cecbc54 --- /dev/null +++ b/src/terms.adoc @@ -0,0 +1,3 @@ += Terms of Service + +// https://man.sr.ht/terms.md |