# To do This page contains articles which I'm in the process of writing or plan to write about. ## Website The following are some features I need to implement on the site: - Editor: - Add: Live preview while editing (requires backend API support) - Add: Ability to move a page on save more easily - Fix: Ace editor deletes 4 spaces instead of one, if it sees the oportunity to do so - Fix: Ace editor adds "-" when you press enter while editing a bullet point - Fix: Ace editor doesn't add syntax highlighting on code blocks - Fix: Popup about document "lock" while editing (clearly ignores Ace) - Fix: Toolbar is out of date right now - Fix: Source code not working - Fix: Disable annoying abbreviations like for OS and API - New syntax: - Add: Next page and prev page in ToC if url has numbers `/` (/page/1, /page/2, etc.) - Add: `Next: ` and `Previous: ` (manual page referencing) - Add: `SeeAlso: ` to add related pages at the top - Add: Tag system: - Add: `Tags: ` at the top of the page + search by tag (e.g. `/tags/tag1+tag2`) - Add: `[[tag: ]]` which is going to insert a list with all articles matching a given tag - Add: `[[prefix: ]]` which is going to insert a list with all articles with names that start with prefix - Add: `[[suffix: ]]` which is going to insert a list with all articles with titles that start with suffix - Add: `[[tag-table: ]]` - Add: Media being tied to page itself instead of being standalone - Add: The ability to refernece and focus on individual sections - Add: The ability to hide pages with `~~HIDDEN~~` - Add: A way to sort a list alphabetically - Add: Glossary page with a list of terms categorized by A, B, C, D, ... (like sitemap) - Add: `[[glossary-table: ]]` - Code blocks: - Add: Code copy button - Add: Code expand and collapse buttons - Add: Line numberings - Add: Better colorscheme - Add: Ability to change syntax highlighting (like on discord) - Add: highlight.js support and disable geshi (requires making a docker image) - Add: xterm.js support with codeblocks using `xt` as language highlighting - LaTeX and KaTeX: - Add: Standalone LaTeX embedding (requires making a docker image) - Add: KaTeX rendering in the backend (requires making a docker image) - Add: KaTeX mouse over preview + click preview - Add: KaTeX floating editor - Embeds: - Add: Embed table with `![[table.csv]]` - Add: Embed HTML with `![[circuit.html]]` (CircuitJS, p5.js will use this) - Add: Embed video with `![[video.mp4]]` (manim will use this) - Add: Embed image with `![[image.png]]` (latex figures will use this) - Add: Render `pages/figure_*.tex` files into `media/figure_*.png` - Add: Render `pages/circuit_*.txt` files into `media/circuit_*.html` - Add: Render `pages/manim_*.py` files into `media/manim_*.mp4` - Add: Render `pages/table_*.csv` files into `media/table_*.csv` (just copy) - Add: Render `pages/p5_*.js` files into `media/p5_*.html` - Sitemap: - Add: A list of referenced but non-created articles (red links) - Add: Sitemap needs to be in form of a glossary rather than a list - Fix: Disable jumping and disable scroll down to last edited aritcle - Style: - Add: Styles from Omarchy to the site - Add: Styles from terminal.sexy to the site - Software: - Fix: Disable DokuWiki's syntax and write a custom markdown parser - Fix: Simplify actions mechanism (too complicated) - Fix: Simplify HTML template (too ugly when opening F12) - Fix: Simplify CSS styles (should be a single style.css) - Integration: - Add: Custom editor for various extensions different (default: markdown) - Add: Markdown files should use the Ace editor with markd - Add: Programming languages should use the appropriate Ace syntax highlighting - Add: Images should use the image editor - Add: Images on te site should be set via media manager: - Add: Favicon should be set by `media/favicon.png` - Add: Header should be set by `media/header.png` - Add: Profile should be set by `media/profile.png` - Add: Background should be set by `media/background.png` - Add: Style should be set by `pages/style.css` - Add: Abbreviations from `pages/abbrev.txt` - Tool scripts: - Add: Script `make clean-cache` for clearing the cache - Add: Script `make tex-content` for recreating media artifacts like latex etc - Add: Script `make sort-lists` to sort lists in Markdown files - Artificial intelligence: - Add: There should be a chat option that prompts ChatGPT to talk more about the article (sidebar) ### Later The following are some ideas I have which I'm not going to implement right away: - Add: AI proof-reading and tags indicating how AI was used on the page - Add: drawing vector images and embedding them directly into source code - Add: Datetime in syntax. Mouseover gives how many days ago the date is