- 📅04-03-2023 📌Alpha Version 1.0.1
- 💻NajibRachid 🟣ANMOON 🏢 XHUB
OutlineML (or OutlineMarkup) is a lightweight, human-readable, and machine-parseable markup language based on outlines. It's designed for tasks such as outlining, organizing information, generating structured documents, and more. OML is extensible, allowing users to create custom outline types and features.
keywords: OML, ListML, OutlineML, List markup language, Outline markup language, markup languages, Markdown list, Markdown outlines, YAML List, ListMarkup, list parser, nested lists, nested outlines, structured list, outlines parser, txt list to JSON, CSV, Comma-separated values.
- Lightweight, & No dependencies.
- Supports deeply nested lists.
- Supports MetaData/Properties.
- Supports Comments.
- Parse to a JSON Structured representation.
- Customizable & Extensible.
- Use as a pseudo/prompting language for AI(chatGPT).
- CRUD Methods.
- IDE Integrations.
Install OML javascript parser:
#npm
npm i outlineml
#yarn
yarn add outlineml
img
- indent: convention: start from 0 and increase any subitems by 2
- indicator: is defined by 1st string before first space, anythig can be used covention is to use symbols: -
- name: its first string before , or a : symbol.
- props are defined by key and value also can be singular if defined by a dictionary.
- comments typical is // for singular and /* */
__ Extra methods __
So the idea behid oml is to custmise to ur needs so you can set you help methods as such.
Lets parse the following list into json using the toJSON
method:
- clients
- John Doe, age 25, gender male, skills JavaScript CSS, hobbies Reading Sports
- Jane Doe, age 23, gender female, skills Drawing Poetry // John's sister
- products
- Stamp Markers, price 20$, qty 12
- Web development learning pack, price 40$
- Web hosting
- React Course
- Spring Boot Course
Once run you will get the following result:
You can also reverse the parsing using the toOML
method.
- Initial Version 1.0.0 : 26/03/2023
- Project Setup.
- Theory & prove of concept.
- Alpha Version 1.0.1 : 04/03/2023
- Develop essential methods.
- Improv Data Structure.
- [Agenda] Beta Version 1.0.x : xx/03/2023
- Fix Extract indicator/name/metaData.
- Fix name extractor space issue.
- Fix empty metadata.
- Improve Code.
- Enable customization.
- Fix comments in metadata.
- Add comment extractor.
- Add ordering.
- Add toOML method.
- Add Formating.
Contributions are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository.
Tests included:
npm test
This project is licensed under the MIT License. See the LICENSE file for more information. Feel free to use it in your own projects, or contribute to its development on GitHub.