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
|
78
outline.txt
78
outline.txt
@ -1,55 +1,41 @@
|
||||
features
|
||||
-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_
|
||||
Overview:
|
||||
|
||||
-inline links are referenced using reference numbers [1] and are
|
||||
listed below each paragraph. A full list of all links/references
|
||||
are displayed at the bottom. This scheme will work for both HTML
|
||||
and gemini
|
||||
|
||||
example:
|
||||
Implementing RC5 in Lua presented some minor challenges. Lua
|
||||
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.
|
||||
md-lint.lua converts all files in the markdown/ directory into a
|
||||
subset of md capable of being translated into comparable gemtext
|
||||
and HTML. The output is fed into gemtext-gen.lua and html-gen.lua
|
||||
to generate format specific documents.
|
||||
|
||||
[1] paper
|
||||
[2] Lua way
|
||||
html-gen.lua will take pieces of other md-to-HTML converters from
|
||||
github to save development time.
|
||||
|
||||
-generate site map
|
||||
gemtext-gen.lua will likely need to be developed mostly from scratch.
|
||||
|
||||
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
|
||||
ssg-lua/
|
||||
src/
|
||||
html-config/
|
||||
gemini-config/
|
||||
markdown/
|
||||
html/
|
||||
gemini/
|
||||
|
||||
first develop the markdown to gemtext program
|
||||
second write the markdown to html program
|
||||
|
||||
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
|
||||
files/
|
||||
images/
|
||||
pdfs/
|
||||
archives/
|
||||
|
Reference in New Issue
Block a user