mono/packages/osrl/README.md
2025-12-30 16:33:03 +01:00

109 lines
3.0 KiB
Markdown

# Content & Expression Engine based on Liquid (JS Implementation)
## Installation
```sh
# local
npm install @plastichub/osrl
#global
npm -g @plastichub/osrl
# CLI help
osrl compile --help
```
### References
- [LiquidJS Docs](https://liquidjs.com/api/classes/liquid_.liquid.html)
- [Liquid Docs - Shopify](https://shopify.github.io/liquid/)
### Usage
Please find examples in ['./examples](./examples)
## Todos
- [ ] Filter/Tags
- [x] Datasources
- [x] Google Sheet
- [x] Local Sheet
- see [exceljs](https://github.com/exceljs/exceljs)
- [x] CSV
- [x] selectors
- [ ] Iterators (scopes)
- [ ] Enums
- [ ] CSS Parser
- [ ] Files / Refs / Variables
- [ ] PDF tables, see [site:tabula](https://github.com/tabulapdf/tabula)
- [ ] JS
- [x] Bind Datasources in local scope
- [x] Default bootstrap
- [x] Plastichub
- [-] OSR
- [x] Default functions: unit conv, string manipulation
- [x] User Plugins
- [x] Refine Engine for scoping
- [ ] RT Security
- Options
- [Secure VM (native)](https://github.com/laverdet/isolated-vm)
- [VM2](https://github.com/patriksimek/vm2#debugging-a-sandboxed-code)
- [ ] fix fucking globals
- [ ] run plugins in cached vm.Script contexts
- [-] Multi Env
- [x] support multi env in profiles
- [x] Settings / Profile
- [-] should read local profil per consumed directory within ```include``` calls
- [-] Instrumentation
- add support for clinic.js | clinic.doctor
- [ ] Platform / Services
- [x] Discourse - API (related, category feed, custom search, topic acc)
- [-] Magento - API (related, components, configurations, options)
- [-] Media Wiki
- [-] CSCart API
- [ ] Documentation
- [ ] Auto - JS Bootstrap docs
- [ ] Generate documented tests
- [ ] Watcher
- [x] OSRL commons (plugins)
- [x] Partials cache
- [x] osr-cache
- [-] VFS & RQL
- [-] OSR-Search
- [-] consume/provide elastic-search queries
- [ ] PDF mining : https://pypi.org/project/pdfminer/
- [x] basics
- [x] new include tag 'emerge' based on the original 'include'
- [x] context/implicit: evaluate conditional statement as variable
- [-] implicit: forward output format (New: AST/partials), gives format agnostic results
- [-] explicit: cache expiration (=>osr-tasks)
- [ ] track i/o access in context meta db
- [ ] i/o: re-impl. old vfs/service API
- [-] output masking via profile json(-get) paths
- [-] support pandoc for input/output pre/post processing
- [x] OSR-i18n
- [x] tags
- [ ] typings
- [ ] partials => store
- [ ] OSR-AI
- [x] prompt tags
- [ ] Doxygen
- [ ] Binaries
- [ ] Pipes
- [ ] Watcher
- [ ] watch glob
- [ ] Targets
- [ ] Logging
- [ ] Typescript
## References
- https://docs.asciidoctor.org/
- https://github.com/asciidoctor/asciidoctor.js
- [MDAST & Co](https://github.com/syntax-tree/mdast-util-to-markdown)
- https://www.npmjs.com/package/link-preview-js
- https://github.com/microlinkhq/metascraper
- https://github.com/arcetros/scrape-recipe-schema/blob/main/src/index.ts
- https://github.com/digitalbazaar/jsonld.js