``
title:                  IDK README
last_modification_date: 2024/10/13
creation_date:          2024/10/13
summary:                IDK markup's readme, describe how to use the software.
output_path:            "/html/idk/idk_readme.html"
"/idk/idk_documentation.idk"(IDK's Specs)
"/idk/idk_todos.idk"(IDK's todos)
category:               "README;idk;documentation"
``
-----------

Quick use
  1.  download [#1]_ the _idk parser_ from this "/assets/builds/idk/idk_parser/idk_parser_alpha_win64.zip"(direct link (2.19 mb)). You will have the entire files used to build this website.
   .  run`idk_parser_beta_win64.exe target="/local/idk_files/"`.
   .  modify/create file with `.idk` extension to test the markup. Any modification, will instantinately update related files.
   .  Stop the program with `CTRL+C`.
  NOTE: IDK documents with `status` set to `draft` inside a context, will not be converted to HTML, but is parsed by the program.
  
Use
  The IDK parser tool is able to check for errors in your `.idk` files, convert them as W3C compliant HTML files, check the HTTP URI and file path present in them.

HTML conversion
  The HTML produce does not need to have javascript enable when viewed, simple interactions on click are present (id est in context elements). A small and simple javascript enhancement for interactions is in progress and will be released soon.
  The HTML are ready for deployment, using the `deploy` keyword. Documentation on how to set NGNINX server will be released very soon.

Structure

  When you download the "/assets/builds/idk/idk_parser/idk_parser_alpha_win64.zip"(idk_parser_beta_win64.zip), you will have inside the program with the `.exe` extension and a folder name `local`.
  This folder contains the shared resources for HTML conversion (head, menu and footer) you can modify in order to make it at your personal taste. The `html` folder location is used to save all HTML files. You must not delete the `assets` folder inside it but can delete anything else.
  This is the complete build used for this website, that way you are able to see how IDK markup works on a deeper level.

Command arguments
  . `target`             : the folder path where all IDK files are located (with extension `.idk`).
  // . `js`              (optional): build related data for js interaction (highlited, selected ids and more).
  . `check_uri`          (optional): check every uris inside idk files.
  . `no_file_path_check` (optional): disable the check on file path inside mentioned inside idk document making it unable to have broken links. Is disabled when `deploy` is on.
  
Dependencies
  None dependency is present in the software, but it makes extensive use of the "https://www.rfleury.com/"(Digital Grove project).

Convenience
  In several ways we emphasize ease of use.
    Text selection
      We permit to select every text chunks: 
      . usually websites tend to not allow you to select the list's number because of CSS.
      . we want table copyable as is (work in progress). we should allow simple selection by mouse and be able to have a well formed table.
    Writting fixes
      When the intend of the writer is obvious, we want the markup correct it without failing or uninteded behaviour:
      . automatic list's numbering.
      . no whitespace after a list's item declaration
      . non terminated inlined list by a `.`.
      . non terminated of any text component before a text block (new line will end all current component declaration).