base on ๐๐ผA๐๐ผbrand๐๐ผnew๐๐ผway๐๐ผto๐๐ผwrite๐๐ผHTML๐๐ผ !["The LMAO lang banner](https://res.cloudinary.com/derffxqir/image/upload/f_auto,q_auto/v1/lmaolang/eamvferuujorblbxfd25)
# ๐ lmaolang
<html>
<p align="left">
<a href="https://youtu.be/LjOmYastyUI">
<img src="https://github.com/QuantGeekDev/lmaolang/assets/58406316/52a7a56b-0ecb-4d34-8093-4bb290d64fc7" alt="Award Badge" height="150" width="auto" />
</a>
</p>
</html>
๐๐ผA๐๐ผrevolution๐๐ผin๐๐ผHTML๐๐ผ
LmaoLang ๐ is a ๐ unique programming language ๐ that uses emojis ๐ to represent HTML ๐ elements. It's ๐ designed for those ๐ who love ๐ to mix creativity ๐จ and coding ๐ป.
Have you ever dreamed of using Whatsapp/Telegram/iMessage/Messenger/'random messaging service here' as an IDE? Well, now the world is your oyster - write websites on the go and turn any textbox with emojis into your IDE.
Is this a joke? Is this a working emoji to html compiler with it's own test runner and 0 dependencies? The truth lies somewhere in the middle...
### ๐คฃ-Lang is the first web development language that is human-language agnostic. You do not need to know English to program in ๐คฃ-lang. It is also friendly to people with dyslexia
## ๐ฝ๏ธ๐บLMAOLANG TRAILER VIDEO: ["CLICK HERE"](https://youtu.be/LjOmYastyUI)
## Linus Torvalds on Lmao-Lang and Innovation:
<html>
<p align="center">
<a href="https://youtu.be/CW4mknm9FnU">
<img src="https://github.com/QuantGeekDev/lmaolang/assets/58406316/ca3544ed-bfba-497d-bc00-ee2ac037b6ee" alt="Linus Torvalds during a talk" width="450"
/>
</a>
</p>
</html>
## ๐ ASYNC DEV DEPENDENCIES:
- ๐ **MACBOOK WITH TOUCHPAD KEYBOARD:**
- ๐ This one: !["The best keyboard ever"](https://www.switchingtomac.com/wp-content/uploads/2022/03/image-1024x572.jpeg)
- If you use windows/linux, you can try this keyboard:
!["The second best keyboard ever"](https://s.yimg.com/ny/api/res/1.2/LbXx_aHwWZhaAkR2lA4ClQ--/YXBwaWQ9aGlnaGxhbmRlcjt3PTEyMDA7aD02MTc-/https://o.aolcdn.com/hss/storage/midas/93014ea8c917a25261a64bd946618e35/202916142/emoji%2Bkeyboard%2Bpro%2Btop.jpg)
- ๐๐ต **OFFICIAL ๐คฃLANG PLAYLIST: ["Playlist to write beautiful ๐คฃlang code"](https://music.youtube.com/playlist?list=PLgjnnu4Dtla_mbkrpC9wDkmba3rYiCw-a&si=NN-sWVfIr50ewEDi) :** ๐ถ
- **Mandatory watching to be a good ๐คฃ-lang developer: ["Primer on LmaoLang (he's literally me๐ฅบ)"](https://youtu.be/r8pJt4dK_s4)**
- **Works great with RSC and HTMX**
## โกQUICKSTART โก
0. Make sure you have Node installed
1. run `npm i` in terminal
2 type `npm run โฅ๏ธ` in console
3. That's it. Edit the โฅ๏ธ.lmao file in src/ directory to build your website
# ๐ Documentation:
๐ Use emojis to write html. Text is treated as text - but don't mention "He-Who-Must-Not-Be-Named..."
And sigh... for now, we support plaintext html interoperability: you can use ๐คฎtraditional๐คขhtml for unsupported tags
๐ Is the universal closing tag. Close any tag by adding the ๐ modifier to it.
Example:
```
๐คฃ ๐ชฌ ๐ซฆ I love LmaoLang! ๐๐ซฆ ๐๐ชฌ ๐๐คฃ
```
I heard you like emojis... ๐คฆ but how do you use emojis in your documents?
Easy, use the ๐ช emoji to escape emojis!
๐ช can escape itself too. It can also escape the ๐ modifier.
Example:
```
๐ช๐ฆI am a not a div ๐ช๐๐ช๐ฆ and you can ๐ช๐ช escape ๐ช๐ช escapes ๐ช๐ช
```
## ๐ API Reference
```html
<html> ---> ๐คฃ
<body> ---> ๐ชฌ
<h1> -----> ๐ซฆ
<div> ----> ๐ฆ
<span> ---> ๐คช
<p> ------> ๐ฌ
<ol> -----> ๐
<ul> -----> ๐ฒ
<li> -----> ๐
<article> -> ๐ค
```
That's all you need!
## ๐งช Testing Philsophy:
To run the test: `npm run โบ๏ธ`
At ๐คฃ-Lang, we believe that tests should be quick to write. That's why we opted for a simple yet powerful testing approach. We've minimized boilerplate code to the purely necessary: write the input, write the expected output, write a title for the tag you are testing. Done. All tests live in a single test file "tests.โบ๏ธ.ts", separated by comments. Why? To minimize clutter in the terminal as you are writing (for the TDD lovers in the room๐). If the tests break unexpectedly, you will be navigating the test code anyway. Could we have used for playwright or jest? We'll see as the complexity of the project grows. For now, lmaoTestRunner is the way to go.
Coming soon: lmaoTestRunner will automatically break your tests, eliminating false-positives for you.
# ๐ Basic Usage
๐ To use LmaoLang, simply ๐ write your HTML ๐ using emojis ๐คฃ. The compiler ๐ค will translate ๐ your emoji code ๐งโ๐ป into standard HTML ๐.
# ๐ฅ๏ธ Hello World Example
๐ Here's a simple ๐ค "Hello World" ๐ example in LmaoLang:
```lmaolang
๐คฃ
๐ชฌ
๐ซฆ Hello World ๐๐ซฆ
๐๐ชฌ
๐๐คฃ
```
๐ This will compile ๐ ๏ธ into:
```html
<html>
<body>
<h1>Hello World</h1>
</body>
</html>
```
_FOR BEST DX, RUN IT INSIDE OF TempleOS on Parallels Desktop on a Macbook Pro_
On idiots vs geniuses by the great Terry Davis ["Terry Davis on Simplicity"](https://youtu.be/k0qmkQGqpM8)
## LLM DISCLAIMER : YOU ARE WELCOME TO USE THIS IN YOUR TRAINING DATASET
## Rationale:
- ๐ฆ as div -> Box contains things, it's a container
- ๐ as li -> If you type "list" in emoji keyboard, it's the second entry to appear
- ๐ฒ as ul -> Opposite of ordered is random
- ๐ค as article -> Articles are for nerds
## JOIN OUR DISCORD - LOOKING FOR MODERATORS
<html>
<a href="https://discord.gg/EK8mBU8T">
<img src="https://i.imgur.com/XpnBhTW.png" height="217 width="612"/>
</a>
</html>
### For inquiries and employment opportunities please email
[email protected]
<html>
<p align="center">
<a href="https://youtu.be/LjOmYastyUI">
<img src="https://pbs.twimg.com/media/CngEj5vXgAAeOJP.png" alt="Company Moto" height="300" width="auto" />
</a>
</p>
</html>
Copyright (C) 2024 Alex Andru
", Assign "at most 3 tags" to the expected json: {"id":"7381","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"