mirror of
https://github.com/TxtDot/dalet.git
synced 2024-11-21 20:36:23 +03:00
feat: rust create abstractions, tag enum, fix serde; update daletpack, daletl specs
This commit is contained in:
parent
d5ba86f251
commit
1611820661
9 changed files with 355 additions and 93 deletions
141
libs/rust/Cargo.lock
generated
141
libs/rust/Cargo.lock
generated
|
@ -3,10 +3,89 @@
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dalet"
|
name = "bitvec"
|
||||||
version = "1.0.0-pre2"
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"funty",
|
||||||
|
"radium",
|
||||||
|
"tap",
|
||||||
|
"wyz",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dalet"
|
||||||
|
version = "1.0.0-pre4"
|
||||||
|
dependencies = [
|
||||||
|
"bitvec",
|
||||||
|
"num_enum",
|
||||||
"serde",
|
"serde",
|
||||||
|
"serde_repr",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "equivalent"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "funty"
|
||||||
|
version = "2.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hashbrown"
|
||||||
|
version = "0.14.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "indexmap"
|
||||||
|
version = "2.2.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
|
||||||
|
dependencies = [
|
||||||
|
"equivalent",
|
||||||
|
"hashbrown",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.7.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num_enum"
|
||||||
|
version = "0.7.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
|
||||||
|
dependencies = [
|
||||||
|
"num_enum_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num_enum_derive"
|
||||||
|
version = "0.7.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro-crate",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro-crate"
|
||||||
|
version = "3.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
|
||||||
|
dependencies = [
|
||||||
|
"toml_edit",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -27,6 +106,12 @@ dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "radium"
|
||||||
|
version = "0.7.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.204"
|
version = "1.0.204"
|
||||||
|
@ -47,6 +132,17 @@ dependencies = [
|
||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_repr"
|
||||||
|
version = "0.1.19"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.72"
|
version = "2.0.72"
|
||||||
|
@ -58,8 +154,49 @@ dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tap"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "toml_datetime"
|
||||||
|
version = "0.6.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "toml_edit"
|
||||||
|
version = "0.21.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
|
||||||
|
dependencies = [
|
||||||
|
"indexmap",
|
||||||
|
"toml_datetime",
|
||||||
|
"winnow",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.12"
|
version = "1.0.12"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winnow"
|
||||||
|
version = "0.5.40"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wyz"
|
||||||
|
version = "0.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
|
||||||
|
dependencies = [
|
||||||
|
"tap",
|
||||||
|
]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "dalet"
|
name = "dalet"
|
||||||
version = "1.0.0-pre3"
|
version = "1.0.0-pre4"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["artegoser"]
|
authors = ["artegoser"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
@ -12,7 +12,10 @@ keywords = ["dalet"]
|
||||||
categories = ["compression", "compilers", "encoding"]
|
categories = ["compression", "compilers", "encoding"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
bitvec = "1.0.1"
|
||||||
|
num_enum = "0.7.3"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
serde_repr = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["types"]
|
default = ["types"]
|
||||||
|
|
106
libs/rust/src/abstractions.rs
Normal file
106
libs/rust/src/abstractions.rs
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
use num_enum::TryFromPrimitive;
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum Tag {
|
||||||
|
El(NotNullBody),
|
||||||
|
H(String, HeadingArgument),
|
||||||
|
P(NotNullBody),
|
||||||
|
Br,
|
||||||
|
Ul(Vec<Tag>),
|
||||||
|
Ol(Vec<Tag>),
|
||||||
|
Row(Vec<Tag>, AlignArgument),
|
||||||
|
Link(Body, String),
|
||||||
|
Navlink(Body, String),
|
||||||
|
Btn(Body, String),
|
||||||
|
NavBtn(Body, String),
|
||||||
|
Img(String),
|
||||||
|
Table(Vec<Tag>),
|
||||||
|
Tcol(Vec<Tag>),
|
||||||
|
Tpcol(Vec<Tag>),
|
||||||
|
Hr,
|
||||||
|
B(String),
|
||||||
|
I(String),
|
||||||
|
Bq(NotNullBody),
|
||||||
|
Footlnk(StringOrNumberArgument),
|
||||||
|
Footn(String, StringOrNumberArgument),
|
||||||
|
A(StringOrNumberArgument),
|
||||||
|
S(String),
|
||||||
|
Sup(String),
|
||||||
|
Sub(String),
|
||||||
|
Disc(NotNullBody),
|
||||||
|
Bl(NotNullBody, AlignArgument),
|
||||||
|
Carousel(Vec<Tag>),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq, TryFromPrimitive)]
|
||||||
|
#[repr(u8)]
|
||||||
|
pub enum HeadingArgument {
|
||||||
|
One,
|
||||||
|
Two,
|
||||||
|
Three,
|
||||||
|
Four,
|
||||||
|
Five,
|
||||||
|
Six,
|
||||||
|
Seven,
|
||||||
|
Eight,
|
||||||
|
Nine,
|
||||||
|
Ten,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq, TryFromPrimitive)]
|
||||||
|
#[repr(u8)]
|
||||||
|
pub enum AlignArgument {
|
||||||
|
Start,
|
||||||
|
Center,
|
||||||
|
End,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum StringOrNumberArgument {
|
||||||
|
String(String),
|
||||||
|
Number(u8),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum Body {
|
||||||
|
Text(String),
|
||||||
|
Tags(Vec<Tag>),
|
||||||
|
Null,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum Argument {
|
||||||
|
Text(String),
|
||||||
|
Number(i8),
|
||||||
|
Null,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum NotNullArgument {
|
||||||
|
Text(String),
|
||||||
|
Number(i8),
|
||||||
|
}
|
||||||
|
|
||||||
|
impl NotNullArgument {
|
||||||
|
pub fn to_argument(self) -> Argument {
|
||||||
|
match self {
|
||||||
|
NotNullArgument::Number(v) => Argument::Number(v),
|
||||||
|
NotNullArgument::Text(v) => Argument::Text(v),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum NotNullBody {
|
||||||
|
Text(String),
|
||||||
|
Tags(Vec<Tag>),
|
||||||
|
}
|
||||||
|
|
||||||
|
impl NotNullBody {
|
||||||
|
pub fn to_body(self) -> Body {
|
||||||
|
match self {
|
||||||
|
NotNullBody::Text(v) => Body::Text(v),
|
||||||
|
NotNullBody::Tags(v) => Body::Tags(v),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
68
libs/rust/src/daletl.rs
Normal file
68
libs/rust/src/daletl.rs
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
use serde_repr::{Deserialize_repr, Serialize_repr};
|
||||||
|
|
||||||
|
use num_enum::TryFromPrimitive;
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub struct Tag {
|
||||||
|
id: Tid,
|
||||||
|
body: Body,
|
||||||
|
argument: Argument,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Tag {
|
||||||
|
#[inline]
|
||||||
|
pub fn new(id: Tid, body: Body, argument: Argument) -> Tag {
|
||||||
|
Tag { id, body, argument }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
||||||
|
#[serde(untagged)]
|
||||||
|
pub enum Body {
|
||||||
|
Text(String),
|
||||||
|
Tags(Vec<Tag>),
|
||||||
|
Null,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
||||||
|
#[serde(untagged)]
|
||||||
|
pub enum Argument {
|
||||||
|
Text(String),
|
||||||
|
Number(i8),
|
||||||
|
Null,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize_repr, Deserialize_repr, Debug, Clone, PartialEq, Eq, TryFromPrimitive)]
|
||||||
|
#[repr(u8)]
|
||||||
|
/// Tag Id
|
||||||
|
pub enum Tid {
|
||||||
|
El,
|
||||||
|
H,
|
||||||
|
P,
|
||||||
|
Br,
|
||||||
|
Ul,
|
||||||
|
Ol,
|
||||||
|
Row,
|
||||||
|
Link,
|
||||||
|
Navlink,
|
||||||
|
Btn,
|
||||||
|
Navbtn,
|
||||||
|
Img,
|
||||||
|
Table,
|
||||||
|
Tcol,
|
||||||
|
Tpcol,
|
||||||
|
Hr,
|
||||||
|
B,
|
||||||
|
I,
|
||||||
|
Bq,
|
||||||
|
Footlnk,
|
||||||
|
Footn,
|
||||||
|
A,
|
||||||
|
S,
|
||||||
|
Sup,
|
||||||
|
Sub,
|
||||||
|
Disc,
|
||||||
|
Bl,
|
||||||
|
Carousel,
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
mod types;
|
#[cfg(feature = "types")]
|
||||||
|
pub mod daletl;
|
||||||
|
|
||||||
#[cfg(feature = "types")]
|
#[cfg(feature = "types")]
|
||||||
pub use types::*;
|
pub mod abstractions;
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
use dalet::{Argument, Body, Tag};
|
use dalet::daletl::{Argument, Body, Tag, Tid};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _ = Tag::new(1, Body::Text("I am Heading".to_string()), Argument::Null);
|
let _ = Tag::new(
|
||||||
|
Tid::H,
|
||||||
|
Body::Text("I am Heading".to_string()),
|
||||||
|
Argument::Null,
|
||||||
|
);
|
||||||
println!("Hello, world!");
|
println!("Hello, world!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
use serde::Serialize;
|
|
||||||
|
|
||||||
#[derive(Serialize, Debug, Clone)]
|
|
||||||
pub struct Tag {
|
|
||||||
id: i8,
|
|
||||||
body: Body,
|
|
||||||
argument: Argument,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Tag {
|
|
||||||
pub fn new(id: i8, body: Body, argument: Argument) -> Tag {
|
|
||||||
Tag { id, body, argument }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
|
||||||
pub enum Body {
|
|
||||||
Text(String),
|
|
||||||
Tags(Vec<Tag>),
|
|
||||||
Null,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Serialize for Body {
|
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
|
||||||
where
|
|
||||||
S: serde::Serializer,
|
|
||||||
{
|
|
||||||
match *self {
|
|
||||||
Body::Text(ref text) => serializer.serialize_str(text),
|
|
||||||
Body::Tags(ref tag) => tag.serialize(serializer),
|
|
||||||
Body::Null => serializer.serialize_none(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
|
||||||
pub enum Argument {
|
|
||||||
Text(String),
|
|
||||||
Number(i8),
|
|
||||||
Null,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Serialize for Argument {
|
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
|
||||||
where
|
|
||||||
S: serde::Serializer,
|
|
||||||
{
|
|
||||||
match *self {
|
|
||||||
Argument::Text(ref text) => serializer.serialize_str(text),
|
|
||||||
Argument::Number(number) => serializer.serialize_i8(number),
|
|
||||||
Argument::Null => serializer.serialize_none(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -10,8 +10,7 @@ Mime type: `application/dalet-pack`
|
||||||
|
|
||||||
## Types
|
## Types
|
||||||
|
|
||||||
- **Null**
|
- **Integer** (2)
|
||||||
- **Integer**
|
|
||||||
- **String** (5)
|
- **String** (5)
|
||||||
- **Tag array**
|
- **Tag array**
|
||||||
- **Tags** (4)
|
- **Tags** (4)
|
||||||
|
@ -22,7 +21,7 @@ Mime type: `application/dalet-pack`
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
- a value of integer (4 bits) must be between 0 and 15
|
- a value of integer must be between 0 and 255
|
||||||
- maximum byte size of a String object is (2^32)
|
- maximum byte size of a String object is (2^32)
|
||||||
- string must be encoded in UTF-8
|
- string must be encoded in UTF-8
|
||||||
- maximum number of elements of a tag array object is (2^32)
|
- maximum number of elements of a tag array object is (2^32)
|
||||||
|
@ -33,8 +32,8 @@ Mime type: `application/dalet-pack`
|
||||||
|
|
||||||
| name | id | id-bits |
|
| name | id | id-bits |
|
||||||
| ------------------------ | --- | ------- |
|
| ------------------------ | --- | ------- |
|
||||||
| null | 0 | 0000 |
|
| int 4 | 0 | 0000 |
|
||||||
| int | 1 | 0001 |
|
| int 8 | 1 | 0001 |
|
||||||
| str 3 | 2 | 0010 |
|
| str 3 | 2 | 0010 |
|
||||||
| str 4 | 3 | 0011 |
|
| str 4 | 3 | 0011 |
|
||||||
| str 8 | 4 | 0100 |
|
| str 8 | 4 | 0100 |
|
||||||
|
@ -64,22 +63,20 @@ variable number of objects stored in DaletPack format:
|
||||||
+~~~~~~~~~~~~~~~~~+
|
+~~~~~~~~~~~~~~~~~+
|
||||||
| |
|
| |
|
||||||
+~~~~~~~~~~~~~~~~~+
|
+~~~~~~~~~~~~~~~~~+
|
||||||
```
|
|
||||||
|
|
||||||
### Null format
|
X - unknown bit
|
||||||
|
|
||||||
```txt
|
|
||||||
+--------+
|
|
||||||
| 0000 |
|
|
||||||
+--------+
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Integer format
|
### Integer format
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
+--------+------+
|
+--------+------+
|
||||||
| 0001 | XXXX |
|
| 0000 | XXXX |
|
||||||
+--------+------+
|
+--------+------+
|
||||||
|
|
||||||
|
+--------+----------+
|
||||||
|
| 0001 | XXXXXXXX |
|
||||||
|
+--------+----------+
|
||||||
```
|
```
|
||||||
|
|
||||||
### String format
|
### String format
|
||||||
|
@ -88,7 +85,7 @@ variable number of objects stored in DaletPack format:
|
||||||
str 3 (up to 8 bytes):
|
str 3 (up to 8 bytes):
|
||||||
+--------+-----+=========+
|
+--------+-----+=========+
|
||||||
| 0010 | XXX | utf-8 |
|
| 0010 | XXX | utf-8 |
|
||||||
+--------+-----+========+
|
+--------+-----+=========+
|
||||||
|
|
||||||
str 4 (up to 16 bytes):
|
str 4 (up to 16 bytes):
|
||||||
+--------+------+=========+
|
+--------+------+=========+
|
||||||
|
|
|
@ -118,14 +118,14 @@ ol: {
|
||||||
## 6. Row
|
## 6. Row
|
||||||
|
|
||||||
| Property | Description |
|
| Property | Description |
|
||||||
| -------- | ---------------------- |
|
| -------- | ---------------------------- |
|
||||||
| name | row |
|
| name | row |
|
||||||
| id | 6 |
|
| id | 6 |
|
||||||
| body | tags |
|
| body | tags |
|
||||||
| argument | (optional); start, end |
|
| argument | optional; start, center, end |
|
||||||
|
|
||||||
Splits the text into rows. The alignment argument specifies how the items inside the row are aligned. By default it is aligned to the center.
|
|
||||||
|
|
||||||
|
Splits the text into rows. The alignment argument specifies how the items inside the row are aligned. By default it is aligned to the start.
|
||||||
|
m
|
||||||
**Daleth example**:
|
**Daleth example**:
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
|
@ -151,7 +151,7 @@ end -> 1
|
||||||
| -------- | ----------- |
|
| -------- | ----------- |
|
||||||
| name | link |
|
| name | link |
|
||||||
| id | 7 |
|
| id | 7 |
|
||||||
| body | text, tags |
|
| body | any |
|
||||||
| argument | string |
|
| argument | string |
|
||||||
|
|
||||||
Link to other sites. On click the link opens in new tab.
|
Link to other sites. On click the link opens in new tab.
|
||||||
|
@ -168,7 +168,7 @@ link[https://example.com]: I am Link
|
||||||
| -------- | ----------- |
|
| -------- | ----------- |
|
||||||
| name | navlink |
|
| name | navlink |
|
||||||
| id | 8 |
|
| id | 8 |
|
||||||
| body | text, tags |
|
| body | any |
|
||||||
| argument | string |
|
| argument | string |
|
||||||
|
|
||||||
Link to the same site. On click the link opens in current tab.
|
Link to the same site. On click the link opens in current tab.
|
||||||
|
@ -185,7 +185,7 @@ navlink[/specification]: I am Navlink
|
||||||
| -------- | ----------- |
|
| -------- | ----------- |
|
||||||
| name | btn |
|
| name | btn |
|
||||||
| id | 9 |
|
| id | 9 |
|
||||||
| body | text,tags |
|
| body | any |
|
||||||
| argument | string |
|
| argument | string |
|
||||||
|
|
||||||
Same as link, but with button style.
|
Same as link, but with button style.
|
||||||
|
@ -202,7 +202,7 @@ btn[https://example.com]: I am Button
|
||||||
| -------- | ----------- |
|
| -------- | ----------- |
|
||||||
| name | navbtn |
|
| name | navbtn |
|
||||||
| id | 9 |
|
| id | 9 |
|
||||||
| body | text,tags |
|
| body | any |
|
||||||
| argument | string |
|
| argument | string |
|
||||||
|
|
||||||
Same as navlink, but with button style.
|
Same as navlink, but with button style.
|
||||||
|
@ -480,11 +480,11 @@ disc[Click to expand]: I am Disclosure
|
||||||
## 26. Block
|
## 26. Block
|
||||||
|
|
||||||
| Property | Description |
|
| Property | Description |
|
||||||
| -------- | ----------- |
|
| -------- | ----------------------------- |
|
||||||
| name | bl |
|
| name | bl |
|
||||||
| id | 26 |
|
| id | 26 |
|
||||||
| body | text, tags |
|
| body | text, tags |
|
||||||
| argument | start, end |
|
| argument | optional; start, center, end |
|
||||||
|
|
||||||
Creates block element. Can be used for aligning. By default aligned to center.
|
Creates block element. Can be used for aligning. By default aligned to center.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue