Skip to content

Latest commit

 

History

History
88 lines (77 loc) · 2.04 KB

steps.md

File metadata and controls

88 lines (77 loc) · 2.04 KB

Checklist of things to do

  • Info, Warn and Error Logging

  • Command line parsing

  • Figure out markdown directory structure

    • Allow users to turn any page into a folder, ref: xxiivv
     |--
     index/
     |-- index.md
     |-- about/
     	|-- index.md
     	|-- friends.md
     	|-- tools
     		|-- index.md
     		|-- have.md
     		|-- want.md
     |-- knowledge/
     	|-- index.md
     	|-- knowledge.md
     	|-- recollect.md
     	|-- notions.md
     	|-- quotes.md
     	|-- recollect.md
     |-- exploration/
     	|-- index.md
     	|-- exploration.md
     	|-- art.md
     	|-- writing.md
     	|-- language.md
     |-- compute/
     	|-- index.md
     	|-- languages.md
     	|-- projects/
     	|-- techlog/
     	|-- devlog/
     		|-- devlog 1
     		|-- devlog 2
     		|-- devlog 3
     ...
     1. Input path to folder
     2. List all files in folder
     3. Add each file/folder as child node
     4. If any folders in list --> Go back to step 2
     5. Render tree
    
     map: key=/index value=[compute, exploration, ...]
     map: key=/index/compute value=[_index, language, projects, techlog, devlog]
     map: key=/index/compute/devlog value=[log1, log2, log3]
     map: key=/index/compute/devlog/log1.md = []
    
     devlog.html
    
     |   devlog    | log       |
    
     // map filename -> path
     // path -> child
    
     [[ devlog ]]
    
    
  • Initialize directory with a default structure

  • Generate directory tree for source files

  • Translate lyceum html files to md, to serve as test subjects

  • Sort translated md files into folders

  • Parse source markdown files and render them in HTML using a library like goldmark

  • Parse frontmatter

  • Now, how the hell am I going to do templating

    • Build steps are as follows:
      • Initialize goldmark
      • Iterate through all files and dirs
      • If file
        • Read file data
        • Convert to HTML
        • Parse metadata
        • Send HTML data, metadata and file map to template
        • Somehow render the navigation logic in the template
  • Create templates

  • Use frontmatter in templates

  • Make it look good

  • Extend markdown parsing to support backlinks