clean
This commit is contained in:
parent
1b45b53262
commit
c02c6474a8
|
@ -6,3 +6,5 @@ indent_size = 2
|
|||
indent_style = space
|
||||
[*.scd]
|
||||
indent_style = tab
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
|
|
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -1,5 +1,2 @@
|
|||
node_modules/
|
||||
capsule/
|
||||
gmi.js
|
||||
gmi.min.js
|
||||
example/test.html
|
||||
gmi-web.1
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
example/
|
|
@ -119,8 +119,7 @@ See the gmi-web(1) man page for more information
|
|||
|
||||
# gmi.css
|
||||
|
||||
Optimized for readability, predictability and mobile-friendliness.
|
||||
Ships with a handful of customizable variables. See `man 5 gmi.css`.
|
||||
Optimized for readability, predictability and mobile-friendliness. Ships with a handful of customizable variables.
|
||||
|
||||
The `--foreground` and `--background` variables will be inverted when
|
||||
`prefers-color-scheme` is "dark" which is a system-level preference on
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" style="undefined">
|
||||
<head>
|
||||
<meta name="color-scheme" content="dark light">
|
||||
<style>:root{--body-width:48rem;--foreground:black;--background:white;--p-size:1.25rem;--p-indent:0rem;--p-line-height:1.5;--a-size:var(--p-size);--pre-size:1rem;--pre-line-height:1;--h1-size:3rem;--h2-size:2.25rem;--h3-size:1.5rem;--heading-line-height:1.25;--ul-size:var(--p-size);--ul-line-height:1.25;--blockquote-size:var(--p-size);--blockquote-line-height:1.25;--mono:Consolas,monaco,monospace;--serif:georgia,times,serif;--sans-serif:-apple-system,BlinkMacSystemFont,"avenir next",avenir,helvetica,"helvetica neue",ubuntu,roboto,noto,"segoe ui",arial,sans-serif}body{max-width:var(--body-width);padding:.5rem;margin:0 auto}a,audio,blockquote,h1,h2,h3,img,p,pre,ul,video{display:block;max-width:100%;margin:0;padding:0;overflow-wrap:anywhere}h1,h2,h3{font-family:var(--sans-serif);line-height:var(--heading-line-height)}p{font-size:var(--p-size);font-family:var(--serif);text-indent:var(--p-indent);line-height:var(--p-line-height)}a::before{font-size:var(--p-size);font-family:var(--mono);content:"⇒";padding-right:0.25rem;vertical-align:middle}a{font-size:var(--p-size);font-family:var(--serif);text-decoration:none}pre{font-size:var(--pre-size);font-family:var(--mono);line-height:var(--pre-line-height);padding:1.25rem;overflow-y:auto}h1{font-size:var(--h1-size)}h2{font-size:var(--h2-size)}h3{font-size:var(--h3-size)}ul{font-size:var(--p-size);font-family:var(--serif);line-height:var(--ul-line-height);list-style-type:none}li::before{font-size:var(--p-size);font-family:var(--mono);content:"*";vertical-align:middle;padding-right:0.5rem}blockquote{font-size:var(--p-size);font-family:var(--serif);line-height:var(--blockquote-line-height);padding-left:0.75rem}pre+blockquote{padding-top:0.5rem;padding-bottom:0.5rem}a,blockquote,body,h1,h2,h3,html,p,pre::-moz-selection,pre::selection,ul{color:var(--foreground);background-color:var(--background)}blockquote{border-left:.5rem solid var(--foreground)}::-moz-selection,::selection,a:hover,pre{color:var(--background);background-color:var(--foreground)}@media (prefers-color-scheme:dark){a,blockquote,body,h1,h2,h3,html,p,pre::-moz-selection,pre::selection,ul{color:var(--background);background-color:var(--foreground)}blockquote{border-left:.5rem solid var(--background)}::-moz-selection,::selection,a:hover,pre{color:var(--foreground);background-color:var(--background)}}</style>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<meta language="en">
|
||||
<title>heading 1</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>heading 1</h1>
|
||||
<h2>heading 2</h2>
|
||||
<h3>heading 3</h3>
|
||||
<p>checkout this empty line:</p>
|
||||
<p><br></p>
|
||||
<ul>
|
||||
<li>and</li>
|
||||
<li>this</li>
|
||||
<li>list</li>
|
||||
</ul>
|
||||
<p><br></p>
|
||||
<blockquote>here's what a blockquote is like</blockquote>
|
||||
<p><br></p>
|
||||
<pre title="pre tags can have title text">
|
||||
preformatted text
|
||||
means that it already has formatting
|
||||
which means it should show
|
||||
|
||||
|
||||
|
||||
as is
|
||||
</pre>
|
||||
<p><br></p>
|
||||
<p><b>watch out!</b> a gemtext line could have html in it that you'll need to escape!</p>
|
||||
<p><br></p>
|
||||
<a href="https://codeberg.org/talon/gmi-web">https://codeberg.org/talon/gmi-web</a>
|
||||
<a href="https://codeberg.org/talon/gmi-web">links can have text too</a>
|
||||
<img src="https://www.learningcontainer.com/wp-content/uploads/2020/07/Large-Sample-Image-download-for-Testing.jpg" title="JPG image that can render inline!"/>
|
||||
<audio controls src="https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3" title="MP3 audio that can render inline!"></audio>
|
||||
<video controls src="https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4" title="MP4 Video that can render inline!"/></video>
|
||||
<p><br></p>
|
||||
<h3>w/ no "titles"</h3>
|
||||
<img src="https://www.learningcontainer.com/wp-content/uploads/2020/07/Large-Sample-Image-download-for-Testing.jpg"/>
|
||||
<audio controls src="https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3"></audio>
|
||||
<video controls src="https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4"/></video>
|
||||
</body>
|
||||
</html>
|
|
@ -1,33 +0,0 @@
|
|||
# heading 1
|
||||
## heading 2
|
||||
### heading 3
|
||||
checkout this empty line:
|
||||
|
||||
* and
|
||||
* this
|
||||
* list
|
||||
|
||||
> here's what a blockquote is like
|
||||
|
||||
```pre tags can have title text
|
||||
preformatted text
|
||||
means that it already has formatting
|
||||
which means it should show
|
||||
|
||||
|
||||
|
||||
as is
|
||||
```
|
||||
|
||||
<b>watch out!</b> a gemtext line could have html in it that you'll need to escape!
|
||||
|
||||
=> https://codeberg.org/talon/gmi-web
|
||||
=> https://codeberg.org/talon/gmi-web links can have text too
|
||||
=> https://www.learningcontainer.com/wp-content/uploads/2020/07/Large-Sample-Image-download-for-Testing.jpg JPG image that can render inline!
|
||||
=> https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3 MP3 audio that can render inline!
|
||||
=> https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4 MP4 Video that can render inline!
|
||||
|
||||
### w/ no "titles"
|
||||
=> https://www.learningcontainer.com/wp-content/uploads/2020/07/Large-Sample-Image-download-for-Testing.jpg
|
||||
=> https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3
|
||||
=> https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4
|
117
gmi-web.1
117
gmi-web.1
|
@ -1,117 +0,0 @@
|
|||
.\" Generated by scdoc 1.10.1
|
||||
.\" Complete documentation for this program is not available as a GNU info page
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.nh
|
||||
.ad l
|
||||
.\" Begin generated content:
|
||||
.TH "gmi-web" "1" "2021-02-16" "1.0.4-rc.2"
|
||||
.P
|
||||
.SH NAME
|
||||
.P
|
||||
gmi-web - a bridge between Gemini and HTML
|
||||
.P
|
||||
.SH SYNOPSIS
|
||||
.P
|
||||
\fBgmi-web\fR \fIOPTIONS\fR < \fIFILE\fR
|
||||
.P
|
||||
\fBgmi-web\fR \fIOPTIONS\fR \fIFILES\fR
|
||||
.P
|
||||
.SH DESCRIPTION
|
||||
.P
|
||||
Convert Gemtext to semantic HTML styled in a readable, predictable and
|
||||
mobile-friendly fashion!
|
||||
.P
|
||||
.SH OPTIONS
|
||||
.P
|
||||
\fB--body\fR
|
||||
.RS 4
|
||||
Generate just the HTML for the lines of the Gemini document.
|
||||
.P
|
||||
.RE
|
||||
\fB--html\fR \fILANG\fR
|
||||
.RS 4
|
||||
Generate a full HTML5 document with the provided \fILANG\fR. \fB--dir\fR can be used
|
||||
to adjust the document text direction from "ltr" to "rtl".
|
||||
.P
|
||||
Use \fB--descriptions\fR \fILIMIT\fR to apply the first non-empty text line of each
|
||||
file as the description <meta> tag. \fILIMIT\fR will be used to truncate the text
|
||||
with an ellipsis at that number of characters.
|
||||
.P
|
||||
Use \fB--author\fR \fINAME\fR to set the author <meta> tag on every file.
|
||||
.P
|
||||
.RE
|
||||
\fB--css\fR [\fIMODE\fR|\fIFILE\fR]
|
||||
.RS 4
|
||||
By default this will be set to \fBfull\fR enabling a handful of customizable
|
||||
variables. See \fB--help\fR for the complete list.
|
||||
.P
|
||||
.RE
|
||||
.nf
|
||||
.RS 4
|
||||
gmi-web --html en \\
|
||||
--foreground "#555555" \\
|
||||
--background "#9EEBCF" < doc\&.gmi
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
.RS 4
|
||||
Choosing \fBcore\fR will use just what is needed to fix vertical layout issues
|
||||
with CSS 2.1's Normal Flow and inline elements. Pointing to a .css \fIFILE\fR
|
||||
will use those styles.
|
||||
.P
|
||||
Choosing \fBnone\fR will not include any style information including when paired
|
||||
with \fB--body\fR where it will not apply the core inline styles.
|
||||
.P
|
||||
.RE
|
||||
\fB[--image|--audio|--video]\fR \fIEXTENSIONS\fR
|
||||
.RS 4
|
||||
Include media extensions inline. You can provide multiple extensions per flag
|
||||
or multiple flags per extension.
|
||||
.P
|
||||
.RE
|
||||
.nf
|
||||
.RS 4
|
||||
gmi-web --html en \\
|
||||
--image jpg \\
|
||||
--image png \\
|
||||
--audio mp3 ogg < doc\&.gmi
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
\fB--config\fR \fIJSON\fR
|
||||
.RS 4
|
||||
All the options documented here and by \fB--help\fR may be captured in a .json
|
||||
file and passed to \fB--config\fR instead of as flags on the command-line.
|
||||
.P
|
||||
.RE
|
||||
.SH AUTHORS
|
||||
.P
|
||||
Maintained by Talon Poole <code@talon.computer>. Up-to-date sources can be
|
||||
found at https://codeberg.org/talon/gmi-web
|
||||
.P
|
||||
.SH COPYRIGHT
|
||||
This is free and unencumbered software released into the public domain.
|
||||
.P
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
.P
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
.P
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
.P
|
||||
For more information, please refer to <http://unlicense.org/>
|
|
@ -1,8 +1,8 @@
|
|||
gmi-web(1) "1.0.5-rc.2"
|
||||
gmi-web(1) "1.0.7-rc.2"
|
||||
|
||||
# NAME
|
||||
|
||||
gmi-web - a bridge between Gemini and HTML
|
||||
gmi-web - A bridge between Gemini and HTML
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
|
|
10
package-lock.json
generated
10
package-lock.json
generated
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "gmi-web-cli",
|
||||
"version": "1.0.4-rc.2",
|
||||
"version": "1.0.6-rc.2",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -58,14 +58,6 @@
|
|||
"get-intrinsic": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"clean-css": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.0.1.tgz",
|
||||
"integrity": "sha512-F1zAGOowUCg8yxT0O4UR+nmbMauf3YwbiUS60CPxpzJU7ulpamGzQomFrJSK4w/HqHtMmQKSHJUNue+dQQYQdg==",
|
||||
"requires": {
|
||||
"source-map": "~0.6.0"
|
||||
}
|
||||
},
|
||||
"cliui": {
|
||||
"version": "7.0.4",
|
||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "gmi-web-cli",
|
||||
"version": "1.0.5-rc.2",
|
||||
"version": "1.0.7-rc.2",
|
||||
"description": "A bridge between HTML and Gemini",
|
||||
"main": "html.js",
|
||||
"type": "module",
|
||||
|
@ -8,8 +8,7 @@
|
|||
"gmi-web": "cli.js"
|
||||
},
|
||||
"man": [
|
||||
"./gmi-web.1",
|
||||
"./gmi.css.5"
|
||||
"./gmi-web.1"
|
||||
],
|
||||
"files": [
|
||||
"UNLICENSE",
|
||||
|
@ -24,7 +23,6 @@
|
|||
"prepare": "prettier --write ."
|
||||
},
|
||||
"dependencies": {
|
||||
"clean-css": "^5.0.1",
|
||||
"css": "^3.0.0",
|
||||
"escape-html": "^1.0.3",
|
||||
"map-stream": "0.0.7",
|
||||
|
|
10
test.sh
10
test.sh
|
@ -1,10 +0,0 @@
|
|||
rm -rf "example/test.html"
|
||||
./cli.js --image jpg --audio mp3 --video mp4 --html en "example/*.gmi"
|
||||
if cmp -s "example/test.html" "example/expected.html"; then
|
||||
printf "PASS: test.html matches expected.html!\n"
|
||||
else
|
||||
printf "FAIL: test.html DOES NOT match expected.html!\n"
|
||||
cmp "example/test.html" "example/expected.html"
|
||||
diff "example/test.html" "example/expected.html"
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in a new issue