``
title:                  IDK To dos
last_modification_date: 2024/10/13
creation_date:          2024/10/13
summary:                Everything in mind for the future of IDK markup.
output_path:            "idk/idk_todos.html"
category:               "todos;idk;parser;"
``
---

Features  
  1. add a strike through token.
   . permit to specify the amount of whitespace of one indentation.
   . more robust and detailed error logger for normal user 
    a. error on ids duplicated (inline links, footnotes)
     . output file path missing.
   . online markup testing from the website.
   . implement todos capacity.
   . find a better name for the IDK markup (IDK was for "I Don't Know" primarily).
   . full unicode.
   . write a roadmap for IDK.
   . permit configuration, avoiding hairy command line arguments (configuration file parser already created).
   . provide performance statistic from profiler (implement the profiler)
   . markdown conversion.
   . share a DLL, making the program useful for other developers.
   . implement layout capacity, separated from the IDK (IDK structure must be only about data).
   . automatic last modification date.
   . Linux layer (far future) 
   . possibility to put block code on list items (currently end the list)

Improvements
  1. remove the need to add "." to the last item of the inlined list.
   . permit `)`, `[`, `|` ``is parsed as table`` inside a link's name (Desc)
   . permit `)`, `(` inside context 
   . derive the correct item indentation on automatic item. On automatic numbering items, if we are one MORE (less is fine) indentation off, it will not be set as item
   . formating capacity: auto indentation, add missing tokens and as such.
   filename only without extension `"idk/idk_readme.idk[#1]"` becomes "idk_readme"
   . internal links: `"idk/idk_readme.idk"[#1]` seems better than current `"idk/idk_readme.idk[#1]"`
   . allow other than 2 whitespace for 1 level.
   . check if an internal link was set two times, if it does increment the index and give warning message.
   . make it possible to have a link + the interal link inside another document.
   . better quotes readability (UX and text organization).
   . inlined table must have their rows aligned.
   . text block using <pre> tag for webcrawlers, currently we use `<span>`
   . add a way to specify the raw text type, which will permit interpreters to skip if necessary
   . timeline structure in which writer, using List, that permit to specify chronological steps with specific fraction defined by the writer (id est a roadmap).
   . vscode's extension for IDK.
   . add "listening ..." log while program is running.
   . smarter escape, be able to escaped a group of tokens `\"https://alink.com"(a link)`, will escape the full link over only the next token.
   . we may want to allow to avoid check certain local path, maybe a writer would want to specify a local path not currently available but later, we have the `deploy` parameter which does that so maybe that's enought.
   . internal link inside a context, which will permit to write a context in narrow place like in a table's cell, this must not behave like an internal link thought, the parsing will not see the internal link, it will see it as a context node.
   
Internals
  Improvements
     . Make the '(' and ')' in a link not represented (useless data).
     . Table: skip the extra cells not having column. When cell idx > column count, skip them (no fail). We may already have this.
     . Delete HTML files with `status: draft|personal` when `deploy` is set.
     . Single Context keywords with multiple text type, wanted to use FileLink and HTTPLink in `mdesk` but currently cant
Bugs
   . IDK/HTML comments conversion 
   . on html, specify a link file with internal link _without name_ is displaying the full path, it should display the 
   . when a checkbox is used as the first word of a text block
   . Having footnote references at the last of Heading will break the HTML structure
   . Adding a Raw text to a link description breaks the parsing.
   . deep discussion thread (deep child node not append to the correct one).
   
HTML conversion
    Bugs
        . link inside a context create invalid html, a `<a>` cannot be inside a span.
        . a file_link with `.idk` extension, missing the output_path html file will not be set as broken_link. We could automatically make them based from the idk filename or set them as broken.
    Features
       . dark theme
       . Automatic sitemap file created at build time.
       . image zoomer
       . file links with `-` inside them fail but shouldn't, escape it 
       . Having toggle for all context in a group (id est discussions)
       . Add a reading option in which you fill the entire web page with small width text (science reading say 66-80 CPL is best), similar to newspapers.
       . interactive table
       . possibility to use vector based UI
       . more efficient CSS rules, use less memory, avoid inlined css rules.
       . using toggle css class, make all the toggles open in one click.
       . advance copy by mouse selection (CTRL+C). For example, selecting a table should copy an IDK markup table, this way someone will be able to transfer it inside a IDK document very quickly.
        a. All selection will be translated as IDK markup when copying them which will make very readable tables, very readable footnote references and so on. With the raw text sent in parallel to the HTML, it will be easy but make it performant will not.
    Improvements
       . Better alignement on list items with multi lines.
       . add 404 page
       . Better discussion thread rendering.
       . logo on file download links.
       . overall better tables display, horizontal/vertical tables, which will permit better suited representation on certain data relation.
       . special display on table's cell when empty (darken the cell or something similar).