organized project development and requirements
This commit is contained in:
parent
4519a712fd
commit
a7972b0f64
11
md-gemtext-outline.txt
Normal file
11
md-gemtext-outline.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
takes the output of md-lint to generate gemtext
|
||||||
|
|
||||||
|
TEXT DECORATIONS
|
||||||
|
-for text decorations like italics, bold, underline
|
||||||
|
surround with chars like /word/ *word* _word_
|
||||||
|
|
||||||
|
LINKS
|
||||||
|
-use gemtext specific linking syntax
|
||||||
|
|
||||||
|
CODE
|
||||||
|
-put code into ```preformatted text```
|
8
md-html-outline.txt
Normal file
8
md-html-outline.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
take pieces of other md-to-HTML converters from
|
||||||
|
github to save development time.
|
||||||
|
|
||||||
|
TEXT DECORATIONS
|
||||||
|
-for text decorations like italics, bold, underline
|
||||||
|
-HTML use <i> <b> <u> tags
|
||||||
|
-Gemtext surround with chars like /word/ *word* _word_
|
||||||
|
|
33
md-lint-outline.txt
Normal file
33
md-lint-outline.txt
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
Convert a standard mardown file into the subset of markdown
|
||||||
|
that can be used to generate gemtext and comparable HTML.
|
||||||
|
|
||||||
|
HEADINGS
|
||||||
|
-round markdown's six headings into gemtext's 3
|
||||||
|
-h1 = h1
|
||||||
|
-h2 = h3
|
||||||
|
-h3 = h3
|
||||||
|
-h4 = h5
|
||||||
|
-h5 = h5
|
||||||
|
-h6 = h5
|
||||||
|
|
||||||
|
ORDERED LISTS
|
||||||
|
-convert to plain text ordered lists
|
||||||
|
|
||||||
|
TABLES
|
||||||
|
-convert tables into ASCII art tables
|
||||||
|
-put in ```preformatted text```
|
||||||
|
-a certain size limit will need to be created
|
||||||
|
-generator should throw a warning
|
||||||
|
|
||||||
|
CODE
|
||||||
|
-code highlighting should work for HTML
|
||||||
|
-use ```preformatted text``` for gemtext
|
||||||
|
|
||||||
|
LINKS
|
||||||
|
-links should be moved to a list below the paragraph they are found in
|
||||||
|
-in their place the text of the link should be kept in the paragraph
|
||||||
|
with a reference number like [1] or [22]
|
||||||
|
-the numbers should not repeat in each page
|
||||||
|
|
||||||
|
IMAGES
|
||||||
|
-handle like links
|
76
outline.txt
76
outline.txt
@ -1,55 +1,41 @@
|
|||||||
features
|
Overview:
|
||||||
-convert a subset of markdown into html and gemini files
|
|
||||||
-images not supported
|
|
||||||
-tables converted to ascii tables for gemtext and html
|
|
||||||
-put in ```blockquotes```
|
|
||||||
-for code highlighting should work for HTML
|
|
||||||
-for code use ```block quotes``` for gemtext
|
|
||||||
-for text decorations like italics, bold, underline
|
|
||||||
-HTML use <i> <b> <u> tags
|
|
||||||
-Gemtext surround with chars like /word/ *word* _word_
|
|
||||||
|
|
||||||
-inline links are referenced using reference numbers [1] and are
|
md-lint.lua converts all files in the markdown/ directory into a
|
||||||
listed below each paragraph. A full list of all links/references
|
subset of md capable of being translated into comparable gemtext
|
||||||
are displayed at the bottom. This scheme will work for both HTML
|
and HTML. The output is fed into gemtext-gen.lua and html-gen.lua
|
||||||
and gemini
|
to generate format specific documents.
|
||||||
|
|
||||||
example:
|
html-gen.lua will take pieces of other md-to-HTML converters from
|
||||||
Implementing RC5 in Lua presented some minor challenges. Lua
|
github to save development time.
|
||||||
likes to start its data structures at index 1, whereas C starts
|
|
||||||
at an index of 0. Converting the pseudocode from the paper [1]
|
|
||||||
to start counting at 1 instead of 0 took a little time, however
|
|
||||||
once you get used to the Lua way [2] things become pretty easy
|
|
||||||
to understand.
|
|
||||||
|
|
||||||
[1] paper
|
gemtext-gen.lua will likely need to be developed mostly from scratch.
|
||||||
[2] Lua way
|
|
||||||
|
|
||||||
-generate site map
|
the whole process of generating a site will be done with a main program
|
||||||
|
that orchestrates the process of converting the files in the markdown/
|
||||||
|
directory into the correct HTML and gemtext files in the HTML/ and
|
||||||
|
gemini/ directories.
|
||||||
|
|
||||||
|
the src/ directory will contain the lua programs and the folders for
|
||||||
|
the HTML and gemini specific configs. These would include format
|
||||||
|
specific headers and footers that would be manually written and
|
||||||
|
added to all generated documents of that type. For example in your
|
||||||
|
src/html-config/header.html you may want to include a link to a
|
||||||
|
CSS style sheet. And a CSS style sheet would also be kept in the
|
||||||
|
html-config/ directory
|
||||||
|
|
||||||
|
any content that cant be represented as text can be linked to on the
|
||||||
|
generated site. Files like images and pdfs are stored in the files/
|
||||||
|
directory and sorted by file extension into folders.
|
||||||
|
|
||||||
organized into three directories
|
organized into three directories
|
||||||
ssg-lua/
|
ssg-lua/
|
||||||
|
src/
|
||||||
|
html-config/
|
||||||
|
gemini-config/
|
||||||
markdown/
|
markdown/
|
||||||
html/
|
html/
|
||||||
gemini/
|
gemini/
|
||||||
|
files/
|
||||||
first develop the markdown to gemtext program
|
images/
|
||||||
second write the markdown to html program
|
pdfs/
|
||||||
|
archives/
|
||||||
gemtext has 3 headings
|
|
||||||
#
|
|
||||||
##
|
|
||||||
###
|
|
||||||
markdown has 6. round 2 to 3. and round 4 and 6 to 5.
|
|
||||||
|
|
||||||
gemtext supports unordered lists
|
|
||||||
* item
|
|
||||||
* item
|
|
||||||
|
|
||||||
convert ordered lists to unordered lists before compiling to HTML and gemtext
|
|
||||||
|
|
||||||
gemtext links look like this
|
|
||||||
=> https://example.com A cool website
|
|
||||||
=> gopher://example.com An even cooler gopherhole
|
|
||||||
=> gemini://example.com A supremely cool Gemini capsule
|
|
||||||
=> sftp://example.com
|
|
||||||
|
Reference in New Issue
Block a user