3 releases
new 0.1.2 | Dec 19, 2024 |
---|---|
0.1.1 | Dec 17, 2024 |
0.1.0 | Oct 26, 2024 |
#5 in #text-content
59 downloads per month
8KB
141 lines
emo-lan
A programming language that uses emoji pictograms to generate HTML. Write your content using emojis, and emo-lan will compile it into clean HTML.
Features
- 📄 Document declaration using emojis
- 🔤 Text content support
- 🖼️ Image embedding
- Command-line interface
- WebAssembly support
Syntax
Emoji | Description | HTML Output |
---|---|---|
📄 | Document start (required) | <!DOCTYPE html> |
🔤text🔤 | Text content | <p>text</p> |
🖼️alt | Image with alt text | <img src="url" alt="alt" /> |
Example
📄🔤Hello World🔤🖼️[Cute cat photo](https://example.com/cat.jpg)
Generates:
<!DOCTYPE html>
<html>
<body>
<p>Hello World</p>
<img src="https://example.com/cat.jpg" alt="Cute cat photo" />
</body>
</html>
Installation
Prerequisites
- Rust toolchain (1.56 or later)
- Cargo package manager
Building from Source
- Clone the repository:
git clone https://github.com/ryokatsuse/emo-lan
cd emo-lan
- Build the project:
cargo build
- Run tests:
cargo test
Usage
Online Playground
Try emo-lan directly in your browser using our online playground.
Command Line Interface
Create a file with .el
extension and write your emo-lan code:
emo-lan input.el
The compiled HTML will be saved as output.html
.
WebAssembly Integration
The library also supports WebAssembly for web browser usage.
Project Structure
cli/
: Command-line interface implementationlexer/
: Tokenization and lexical analysisparser/
: Syntax parsing and HTML generationcommon/
: Shared types and utilitiessrc/
: Core library and WebAssembly bindings
License
MIT
Author
Dependencies
~2.7–4.5MB
~80K SLoC