Skip to content

Commit

Permalink
root: initialized repository
Browse files Browse the repository at this point in the history
This patch is to initialize the repository for development.

Signed-off-by: (Holloway) Chew, Kean Ho <[email protected]>
  • Loading branch information
hollowaykeanho committed Sep 3, 2024
0 parents commit 4fb9d42
Show file tree
Hide file tree
Showing 4 changed files with 349 additions and 0 deletions.
208 changes: 208 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
#####################
# User defined
#####################

#####################
# Standard FHS
#####################
vendor/
output/
/releases/
!/*/releases/

#####################
# ZORALab's Monteur
#####################
/.monteurFS/
/.configs/montuer/secrets/
.bin/

#####################
# AutomataCI
#####################
/SECRETS.toml
/bin
/lib
/tools
/tmp
/log
/build
/pkg
/releases
/resources/changelog/*/.*
/artifact*
/pkgAUTOMATACI
/.internals/docs/*/*.pdf

#####################
# Angular
#####################
/out-tsc
/bazel-out
cache/
coverage/
dist/
.sass-cache/
connect.lock
libpeerconnection.log
testem.log
typings

#####################
# LibreOffice
#####################
.~lock*

#####################
# Syncthing
#####################
.thumbnails/

#####################
# Python
#####################
venv/
__pycache__
.coverage

#####################
# Rust
#####################
target/
*.profraw

#####################
# Hugo
#####################
themes/
public/
.hugo_build.lock

#####################
# LetsEncrypt
#####################
certbot.log

#####################
# Android Studio
#####################
/build

#####################
# vim
#####################
4913
*.swp

#####################
# C Language
#####################
*.d
!*.d/
*.o
*.a
*.dll
*.exe
*.elf
*.hex
*.bin

#####################
# Node
#####################
node_modules/
npm-debug.log
yarn-error.log
coverage/
dist/
.nyc_output

#####################
# Databases
#####################
*.db

#####################
# SQLite
#####################
*.sqlite3
*.sqlite
*.sqlite-journal
*.db-journal

#####################
# GitHub
#####################
gh-pages/

#####################
# Logs
#####################
*.log

#####################
# GNU
#####################
.gsf-save*

#####################
# MacOS specifics
#####################
.DS_Store
Thumbs.db

#####################
# AWS CLI credential blobs
#####################
.aws/credentials
aws/credentials
homefolder/aws/credentials

#####################
# Private RSA SSH keys
#####################
/ssh/id_rsa
/.ssh/personal_rsa
/config/server_rsa
id_rsa
.id_rsa

#####################
# Private DSA SSH keys
#####################
/ssh/id_dsa
/.ssh/personal_dsa
/config/server_dsa
id_dsa
.id_dsa

#####################
# Private ed25519 SSH keys
#####################
/ssh/id_ed25519
/.ssh/personal_ed25519
/config/server_ed25519
id_ed25519
.id_ed25519

#####################
# Private ECDSA SSH keys
#####################
/ssh/id_ecdsa
/.ssh/personal_ecdsa
/config/server_ecdsa
id_ecdsa
.id_ecdsa

#####################
# Any file with .pem or .key extensions
#####################
*.pem
*.key
*.crt

#####################
# Any file ending with _history or .history extension
#####################
pry.history
bash_history
Binary file added LICENSE.pdf
Binary file not shown.
127 changes: 127 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Hestia Libraries - `HestiaTOML`

[![Hestia Libraries](https://raw.githubusercontent.com/ChewKeanHo/hestiaTOML/main/src/icons/banner_1200x270.svg)](#)

One Peaceful Frontend+Backend Software Library Suite.

This repository facilitates
[Tom's Obvious Minimal Language](https://github.com/toml-lang/toml) operation
for all Hestia Libraries user. This library uses the character-based
streaming with low memory and low footprint (e.g.
microcontroller adata processing) considerations. Moreover, it uses the
*"everything is a string"* convention to avoid bloating the library with all
other libraries data sanitization functions. In short, HestiaTOML
**SHALL NOT AND WILL NOT** dictate when, what, and how the value is sanitized
and validated. It only makes sure the TOML syntax are correctly done and parse
from it.




## Why It Matters

This project was initiated primarily because of:

1. **Ensures proper interoperability between programming languages** -
making sure the `hestiaTOML` library talks to each other seamlessly across
programming languages with the same context.
2. **Friendly to low memory and low footprint environment** - using simple
string character streaming algorithm to parse the required data from TOML
syntax.
3. **Consumption freedom** - HestiaTOML makes no decision and no assumption on
how you consume the parsed data: use the corresponding data type sanitization
function to convert from string into your desired data type.
5. **Simple to integrate** - simple enough to use for all supported programming
languages.




## Design Principles

The definitions complies to only the following rules:

1. **STRICTLY**: **Everthing is a `string`**.
2. Primarily uses Unicode for internal operations.
3. Uses syntax behaviorial table algorithm even for restrictive languages like
POSIX Shell (not BASH).

This library is heavily guarded with unit tests whenever available.




## Setup

This library supports multiple programming languages for the same dataset.
Please import based on your programming language(s) using the instructions in
the sub-sections below.

Please do note that branches like `main`, `next`, and `experimental` are for
maintenance & development uses (as in, the production factory itself). Hence,
please avoid them and only use it at your own risk.



### Javascript|Typescript Ecosystems

To use `hestiaTOML` library in your Javascript|Typescript project, you may use
the following methods for integrations:


#### Git Release Branches (Recommended)

It's highly recommended to use `git` release branches inside your `package.json`
dependencies list. This is to avoid the registry configurations problem
involving `npm`:

```
{
"dependencies": {
...
"@chewkeanho/hestiaSTRING": "git+https://github.com/ChewKeanHo/hestiaSTRING.git#[VERSION]_npm",
...
"@chewkeanho/hestiaTOML": "git+https://github.com/ChewKeanHo/hestiaTOML.git#[VERSION]_npm"
...
}
}
```

For always latest release, please use the `latest` version tag. Example:

```
{
...
"dependencies": {
...
"@chewkeanho/hestiaSTRING": "git+https://github.com/ChewKeanHo/hestiaSTRING.git#[VERSION]_npm",
...
"@chewkeanho/hestiaTOML": "git+https://github.com/ChewKeanHo/hestiaTOML.git#latest_npm"
...
}
...
}
```


#### NPM

> **NOTE**
>
> To be updated.



## Data Source

The libraries are based on the following data sources:

1. Specification - https://github.com/toml-lang/toml




## License

This project is licensed under [OSI compliant Apache 2.0 License](LICENSE.txt).
14 changes: 14 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Security Policy - Reporting a Vulnerability
We take security issues seriously AND WITHOUT CAUSING PUBLIC PANICS. Therefore,
if you find any security vulnerability (both suspicious or confirmed), please
feel free to communicate with my team at:

```
[email protected]
```

or raise a report under **Report a security vulnerability** title in the
GitHub's Issues section.


**REMEMBER**: DO NOT CAUSE PUBLIC PANICS. Please be professional.

0 comments on commit 4fb9d42

Please sign in to comment.