Ajv class for JSON Schema draft-04
Another JSON Schema Validator
JSON Schema TypeScript definitions with complete inline documentation.
JSON Schema Draft 4 namespace for ApiDOM.
JSON Schema Draft 6 namespace for ApiDOM.
JSON Schema Draft 7 namespace for ApiDOM.
Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
Another JSON Schema Validator
TypeScript definitions for draft-js
A tidy ISO 8601 date formatter and parser
Editor for DraftJS Plugins
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
Migrate JSON-Schema to draft-06
A wysiwyg on top of DraftJS.
Fast, lightweight JSON Schema validator for Node.js and browsers — full support for draft-04, draft-06, draft-07, draft-2019-09, and draft-2020-12 (latest)
A React framework for building text editors.
Collection of utility function for use with Draftjs.
Reusable JSON Schema (Draft 04) validation library for Expo
JSON Schema validation and specifications
Convert between schema specifications
Plugin utilities for draft js
A draft order plugin for Medusa.
TypeScript definitions for react-draft-wysiwyg
type definitions for the json-schema specification draft-07
A MongoMapper extension adding draft/publishing support
# Otto AsciiDoc-powered static site generator with Jekyll-style conventions: layouts, includes, data files, posts, drafts, permalinks, and custom collections. ## Install ```sh gem install ottogen ``` Requires Ruby 3.0 or newer. ## Quickstart ```sh mkdir mysite && cd mysite otto init otto build otto serve open http://127.0.0.1:8778/ ``` For a longer walkthrough including AsciiDoc syntax, see [GUIDE.md](GUIDE.md). ## Commands | Command | Description | |---|---| | `otto init [DIR]` | Scaffold a new site (current dir if omitted) | | `otto build` | Render the site to `_build/` | | `otto build --drafts` | Include posts from `_drafts/` | | `otto watch` | Rebuild on file change | | `otto serve` | Serve `_build/` on port 8778 | | `otto generate PAGE` | Create a new page in `pages/` | | `otto post "Title"` | Create a new dated post in `_posts/` | | `otto clean` | Delete `_build/` | | `otto doctor` | Sanity-check project layout | ## Project layout ``` my-site/ ├── .otto # marker ├── config.yml # site config ├── assets/ # copied verbatim into _build/ ├── pages/ # AsciiDoc pages, output mirrors path ├── _layouts/ # ERB layouts (.html.erb) ├── _includes/ # ERB partials ├── _data/ # YAML/JSON files exposed as site.data.* ├── _posts/ # YYYY-MM-DD-slug.adoc └── _drafts/ # undated drafts (excluded by default) ``` ## Configuration (`config.yml`) ```yaml title: My Otto Site description: Things I write url: https://example.com baseurl: "" permalink: /:year/:month/:day/:slug/ collections: recipes: output: true ``` `permalink` accepts these tokens: `:year`, `:month`, `:day`, `:slug`, `:title`. Templates ending in `/` produce pretty URLs (`<path>/index.html`). ## Pages and posts Both support YAML front matter: ```adoc --- layout: default title: Hello tags: [ruby, cli] --- = Hello Welcome to {site_title}. This page is at {page_url}. ``` Pages live under `pages/`; posts under `_posts/` with `YYYY-MM-DD-slug.adoc` names. Layouts wrap rendered AsciiDoc; partials in `_includes/` are pulled in via `<%= partial 'header.html' %>`. ## License MIT