diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..114e53e --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +host = minimally.online + +build: content/* templates/* config.toml web.json + rm -rf build + kiln build + +publish: build + rsync -ru build/html/ $(host):/srv/html/ + rsync -ru build/gmi/ $(host):/srv/gmi/ + +clean: + rm -rf build diff --git a/build/gmi/index.gmi b/build/gmi/index.gmi new file mode 100644 index 0000000..e5def4f --- /dev/null +++ b/build/gmi/index.gmi @@ -0,0 +1,8 @@ +# minimally.online + +hosts the following services: +=> https://board.minimally.online board. (Lemmy) +=> https://git.minimally.online git. (Forgejo) + +=> /animated-x4.gif + diff --git a/animated-x4.gif b/build/html/animated-x4.gif similarity index 100% rename from animated-x4.gif rename to build/html/animated-x4.gif diff --git a/animated-x8.gif b/build/html/animated-x8.gif similarity index 100% rename from animated-x8.gif rename to build/html/animated-x8.gif diff --git a/animated.gif b/build/html/animated.gif similarity index 100% rename from animated.gif rename to build/html/animated.gif diff --git a/build/html/index.html b/build/html/index.html new file mode 100644 index 0000000..264eed2 --- /dev/null +++ b/build/html/index.html @@ -0,0 +1,21 @@ + + + + + + + +minimally.online + + +

minimally.online

+

+

hosts the following services:

+board. (Lemmy) +git. (Forgejo) +

+ +

+ + + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..3089865 --- /dev/null +++ b/config.toml @@ -0,0 +1,27 @@ +title = "minimally.online" + +[[tasks]] +input = [".png", ".jpg", ".gif", ".mp4", ".webm", ".mp3", ".txt"] +static_dir = "public" +output_dir = "build/html" + +[[tasks]] +input = [".gmi"] +template = ".gmi" +output = ".gmi" +output_dir = "build/gmi" + +[[tasks]] +input = [".gmi"] +template = ".gmi" +output = ".html" +postprocess = "gmi-web --config web.json" +output_dir = "build/html" + +[[tasks.feeds]] +input_dir = "log" +title = "TDC log" +template = "atom.xml" +output = "log/atom.xml" + + diff --git a/content/_index.gmi b/content/_index.gmi new file mode 100644 index 0000000..91ee979 --- /dev/null +++ b/content/_index.gmi @@ -0,0 +1,8 @@ +--- +title: minimally.online +--- +hosts the following services: +=> https://board.minimally.online board. (Lemmy) +=> https://git.minimally.online git. (Forgejo) + +=> /animated-x4.gif diff --git a/gmi-web.css b/gmi-web.css deleted file mode 100644 index df31f3b..0000000 --- a/gmi-web.css +++ /dev/null @@ -1,199 +0,0 @@ -p, -pre, -ul, -blockquote, -h1, -h2, -h3 { - margin-top: 0; - margin-bottom: 0; - overflow-wrap: break-word; -} - -p:empty { - padding-bottom: 20px; -} - -a { - display: block; -} - -pre { - overflow-y: auto; -} - -img, -audio, -video { - display: block; - max-width: 100%; -} - -:root { - --foreground: black; - --background: white; - - --body-width: 48rem; - --hyphens: manual; - - --serif: georgia, times, serif; - --sans-serif: avenir, helvetica, arial, sans-serif; - --mono: consolas, monaco, monospace; - - --p-family: var(--serif); - --p-size: 1.25rem; - --p-height: 1.5; - --p-indent: 0rem; - - --a-family: var(--serif); - --a-size: var(--p-size); - --a-height: 1.5; - --a-decoration: underline; - --a-style: normal; - - --pre-family: var(--mono); - --pre-size: 1rem; - --pre-height: 1; - - --h1-family: var(--sans-serif); - --h1-size: 3rem; - --h1-height: 1.25; - - --h2-family: var(--sans-serif); - --h2-size: 2.25rem; - --h2-height: 1.25; - - --h3-family: var(--sans-serif); - --h3-size: 1.5rem; - --h3-height: 1.25; - - --ul-family: var(--serif); - --ul-size: var(--p-size); - --ul-height: 1.25; - --ul-style: circle; - - --quote-family: var(--serif); - --quote-size: var(--p-size); - --quote-height: 1.25; - --quote-style: italic; -} - -body { - margin: 0 auto; - padding: 0.5rem; - max-width: var(--body-width); - hyphens: var(--hyphens); -} - -p { - font-family: var(--p-family); - font-size: var(--p-size); - line-height: var(--p-height); - text-indent: var(--p-indent); -} - -a { - font-size: var(--a-size); - font-style: var(--a-style); - font-family: var(--serif); - line-height: var(--a-height); - text-decoration: var(--a-decoration); -} - -pre { - padding: 1rem; - font-family: var(--pre-family); - font-size: var(--pre-size); - line-height: var(--pre-height); -} - -h1 { - font-family: var(--h1-family); - font-size: var(--h1-size); - line-height: var(--h1-height); -} - -h2 { - font-family: var(--h2-family); - font-size: var(--h2-size); - line-height: var(--h2-height); -} - -h3 { - font-family: var(--h3-family); - font-size: var(--h3-size); - line-height: var(--h3-height); -} - -ul { - padding-left: 1rem; - list-style-type: var(--ul-style); - font-size: var(--ul-size); - font-family: var(--ul-family); - line-height: var(--ul-height); -} - -blockquote { - margin-left: 0; - margin-right: 0; - padding-left: 0.5rem; - border-left-width: 0.5rem; - border-left-style: solid; - font-family: var(--quote-family); - font-size: var(--quote-size); - font-style: var(--quote-style); - line-height: var(--quote-height); -} - -/* foreground and background colors */ -html, -body, -h1, -h2, -h3, -p, -a, -ul, -blockquote, -pre::selection { - color: var(--foreground); - background-color: var(--background); -} - -blockquote { - border-color: var(--foreground); -} - -pre, -::selection, -a:hover { - color: var(--background); - background-color: var(--foreground); -} - -@media (prefers-color-scheme: dark) { - html, - body, - h1, - h2, - h3, - p, - a, - ul, - blockquote, - pre::selection { - color: var(--background); - background-color: var(--foreground); - } - - blockquote { - border-color: var(--background); - } - - pre, - ::selection, - a:hover { - color: var(--foreground); - background-color: var(--background); - } -} diff --git a/public/animated-x4.gif b/public/animated-x4.gif new file mode 100644 index 0000000..ae3d301 Binary files /dev/null and b/public/animated-x4.gif differ diff --git a/public/animated-x8.gif b/public/animated-x8.gif new file mode 100644 index 0000000..ef33331 Binary files /dev/null and b/public/animated-x8.gif differ diff --git a/public/animated.gif b/public/animated.gif new file mode 100644 index 0000000..6cdb336 Binary files /dev/null and b/public/animated.gif differ diff --git a/tags b/tags new file mode 100644 index 0000000..ee8bc97 --- /dev/null +++ b/tags @@ -0,0 +1,77 @@ +!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/ +!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/ +!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/ +!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/ +!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/ +!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/ +!_TAG_FIELD_DESCRIPTION input /input file/ +!_TAG_FIELD_DESCRIPTION name /tag name/ +!_TAG_FIELD_DESCRIPTION pattern /pattern/ +!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/ +!_TAG_FIELD_DESCRIPTION!XML uri /uri associated with name prefix/ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_KIND_DESCRIPTION!Ant P,property /properties(global)/ +!_TAG_KIND_DESCRIPTION!Ant i,antfile /antfiles/ +!_TAG_KIND_DESCRIPTION!Ant p,project /projects/ +!_TAG_KIND_DESCRIPTION!Ant t,target /targets/ +!_TAG_KIND_DESCRIPTION!HTML C,stylesheet /stylesheets/ +!_TAG_KIND_DESCRIPTION!HTML I,id /identifiers/ +!_TAG_KIND_DESCRIPTION!HTML J,script /scripts/ +!_TAG_KIND_DESCRIPTION!HTML a,anchor /named anchors/ +!_TAG_KIND_DESCRIPTION!HTML c,class /classes/ +!_TAG_KIND_DESCRIPTION!HTML h,heading1 /H1 headings/ +!_TAG_KIND_DESCRIPTION!HTML i,heading2 /H2 headings/ +!_TAG_KIND_DESCRIPTION!HTML j,heading3 /H3 headings/ +!_TAG_KIND_DESCRIPTION!HTML t,title /titles/ +!_TAG_KIND_DESCRIPTION!JSON a,array /arrays/ +!_TAG_KIND_DESCRIPTION!JSON b,boolean /booleans/ +!_TAG_KIND_DESCRIPTION!JSON n,number /numbers/ +!_TAG_KIND_DESCRIPTION!JSON o,object /objects/ +!_TAG_KIND_DESCRIPTION!JSON s,string /strings/ +!_TAG_KIND_DESCRIPTION!JSON z,null /nulls/ +!_TAG_KIND_DESCRIPTION!Make I,makefile /makefiles/ +!_TAG_KIND_DESCRIPTION!Make m,macro /macros/ +!_TAG_KIND_DESCRIPTION!Make t,target /targets/ +!_TAG_KIND_DESCRIPTION!XML i,id /id attributes/ +!_TAG_KIND_DESCRIPTION!XML n,nsprefix /namespace prefixes/ +!_TAG_KIND_DESCRIPTION!XML r,root /root elements/ +!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ +!_TAG_OUTPUT_FILESEP slash /slash or backslash/ +!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ +!_TAG_OUTPUT_VERSION 0.0 /current.age/ +!_TAG_PARSER_VERSION!Ant 0.0 /current.age/ +!_TAG_PARSER_VERSION!HTML 0.0 /current.age/ +!_TAG_PARSER_VERSION!JSON 0.0 /current.age/ +!_TAG_PARSER_VERSION!Make 0.0 /current.age/ +!_TAG_PARSER_VERSION!XML 0.0 /current.age/ +!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ +!_TAG_PROC_CWD /home/specter/Code/MDO-website/ // +!_TAG_PROGRAM_AUTHOR Universal Ctags Team // +!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ +!_TAG_PROGRAM_URL https://ctags.io/ /official site/ +!_TAG_PROGRAM_VERSION 6.0.0 /p6.0.20221218.0/ +!_TAG_ROLE_DESCRIPTION!Ant!antfile imported /imported/ +!_TAG_ROLE_DESCRIPTION!HTML!class attribute /assigned as attributes/ +!_TAG_ROLE_DESCRIPTION!HTML!script extFile /referenced as external files/ +!_TAG_ROLE_DESCRIPTION!HTML!stylesheet extFile /referenced as external files/ +!_TAG_ROLE_DESCRIPTION!Make!makefile included /included/ +!_TAG_ROLE_DESCRIPTION!Make!makefile optional /optionally included/ +0 web.json /^ ".mp4",$/;" s array:video +0 web.json /^ "mp3"$/;" s array:audio +0 web.json /^ "png",$/;" s array:image +1 web.json /^ ".webm"$/;" s array:video +1 web.json /^ "jpg",$/;" s array:image +2 web.json /^ "gif"$/;" s array:image +audio web.json /^ "audio": [$/;" a +background web.json /^ "background": "#FFFFFF",$/;" s +build Makefile /^build: content\/* templates\/* config.toml web.json$/;" t +clean Makefile /^clean:$/;" t +foreground web.json /^ "foreground": "#000000",$/;" s +host Makefile /^host = minimally.online$/;" m +html web.json /^ "html": "en",$/;" s +image web.json /^ "image": [$/;" a +minimally.online index.html /^

minimally.online<\/h1>$/;" h +minimally.online index.html /^ minimally.online<\/title>$/;" j +publish Makefile /^publish: build$/;" t +video web.json /^ "video": [$/;" a diff --git a/templates/_default/atom.xml b/templates/_default/atom.xml new file mode 100644 index 0000000..1c76750 --- /dev/null +++ b/templates/_default/atom.xml @@ -0,0 +1,16 @@ +{{ `<?xml version="1.0" encoding="utf-8"?>` | safeHTML }} +<feed xmlns="http://www.w3.org/2005/Atom"> +<id>talon.computer/log</id> +<title>{{ .Title }} +{{ site.Generated.Format "2006-01-02T15:04:05Z07:00" }} + +{{ range .Pages }} + {{ .URL }} + {{ .Title }} + {{ if .Params.summary }}{{ .Params.summary }} + {{ end -}} + {{ .Date.Format "2006-01-02T15:04:05Z07:00" }} + + +{{ end -}} + diff --git a/templates/index.gmi b/templates/index.gmi new file mode 100644 index 0000000..eacba04 --- /dev/null +++ b/templates/index.gmi @@ -0,0 +1,3 @@ +# {{ .Title }} + +{{ .Content }} diff --git a/web.json b/web.json new file mode 100644 index 0000000..a77ac7d --- /dev/null +++ b/web.json @@ -0,0 +1,17 @@ +{ + "html": "en", + "foreground": "#000000", + "background": "#FFFFFF", + "audio": [ + "mp3" + ], + "image": [ + "png", + "jpg", + "gif" + ], + "video": [ + ".mp4", + ".webm" + ] +}