Neopoligen TODO List

October 2024

Launch Stuff

    ☐

    Add in Gifsicle for processing option

    ☐

    Show a helpful issue message if you try to call a macro that doesn't exist

    ☐

    Make sure attrs are working for shorthand spans

    ☐

    Licensing for fonts

    ☐

    Deal with empty lines with whitespace in addition to two line_endings directly in a row

    ☐

    Handle single backslashes in content. Or make them always be escaped?

    ☐

    Handle single escaped pipe in code tags:

    ``\|``
    ☐

    Add text back into attrs and flags for easier output

    ☐

    Rename page.sections to page.children so you can use the same functions for it as everywhere else

    ☐

    Rename a macro to marco and check the error to see about hosting it to the output error page

    ☐

    Handle undefined values like: [@ site.foo.bar @]

    ☐

    Make an error like [@- section|tojson(true)- @] where the end - is in the wrong place. Most of the page is still rendering and an error shows up in the console. Update that so the error shows on the page too.

    ☐

    Deal with the error that panics if you try to do: >>Text>>url>> instead of >>text|url>>

    ☐

    Static Open Graph Image location

    ☐

    Make sure you can have names like "csv" in front of names like "csv-table" and things still work

    ☐

    Video of how to read issue messages

    ☐

    Set up so the main status page is independent from the 404/Issues page.

    ☐

    Add preface to tlink for thinks like "Next" in footers.

    ☐

    json5-basic-table section made out of json and json5-advanced-table

    ☐

    Simple query by posts that are published sorted by date

    ☐

    Move all the shorthands and basic spans into the built-ins

    ☐

    Do not output -- type: db pages which will be used for storing database items in future updates

    ☐

    Figure out how to track when pages are using generic templates and sends warnings about that in the issues panel

    ☐

    Combine multiple errors on the same page into a single output so the earlier ones don't get overwritten by the later ones.

    ☐

    Move all errors into ./error/WHATEVER.rs files

    ☐

    Move built-in-templates to their own top level directory

    ☐

    Hoist Template load errors with display debug to the top of pages for showing error messages

    ☐

    Output error page as 404 page to cover when files with paths aren't parsed properly and disappear from their target output locations.

    ☐

    Don't wrap <li> items in <p> tags if there's only one block

    ☐

    Remove text from SectionKeyValueAttrPayloadV42

    ☐

    Move so basic is the last thing that gets processed so that anything that isn't another format is automatically basic and drop the unknown. It'll happen by default

    ☐

    Update so section attrs can have spaces in front so they can be tabbed

    ☐

    Add CSV Section Type

    ☐

    Get page title from first block attr if there's a title attribute

    ☐

    Get page title from first N number of words in first block as part of the fallback chain

    ☐

    Make inline image shorthand !!some-image-name!!

    ☐

    Make inline link shorthand >>text

    ☐

    Output the .json AST for each page along with the .html and .neo files.

    ☐

    Split -- html, -- css and -- script to their own section types

    ☐

    Create site function to get section attributes with an optional class appended.

    ☐

    Allow slashes in pagedata ids which translate into folders for the output.

    ☐

    Output error message for files where IDs can't be parsed

    ☐

    Only output files with defined status set (scratch, draft, and done by default)

    ☐

    Output source.neo files next to index.html files (or widget.neo if the output file is widget.html)

    ☐

    Output parsing errors for pages that don't have fallback ids.

Not Launch Stuff

    [] Dynamically make open graph images

    [] Allow different delimeters for CSV

    [] Optimize parser to collase plaintext items into instead of having multiple strung together in the spans

    [] Figure out how to make best attempt to render page and then print issues on it. (Right now, if there's an error it throws all the way to the error page)

    [] Hoist json processing errors to the page level

    [] Query posts via SQL (including query by section tags, etc)

    [] Make a dual output setup where debug is set to true on one and false on the other so you can flip back and forth between them when you want to see debugging info. (Little piece of JS that watches to see if you're on localhost and provides a button to flip would work nicely I think)

    [] Figure out how to chain up error message for problem include files so it shows the one that has the problem instead of the top one if there are multiples.

    [] Add ability to use pipes behind section names for attrs and flags (e.g. -- code

    [] Attempt to get page title when the content doesn't parse instead of Content Parsing Error

    [] Provide config override to customize the statuses that get published

    [] Capture page status in new_from_str for invalid files

    [] Add generic missing template backup directly in the output function so you can run the site will zero templates and at least get a warning instea of a blank page

    [] Create a page at a .well-known location that maps the sections to the types so that folks can do their own filtering on their side when they pull files

    [] Add link rel="alternative type="application/rss+xml" in default templates?

Done

    [x] Split template site.get_page_title into site.get_page_title_from_id and site.get_page_title_from_span

    [x] Split tempate site.get_page_href into site.get_page_href_from_id and site.get_page_href_from_span

    [x] Create site function to get span attributes with an optional class appended.

    [x] Migrate Sections to top level "sections" dir in the templates

    [x] Use an enum to identify the parent of a section to know what to do in terms of nesting with checklists and lists

    [x] Make strikethrough shorthand with ~~

end of line