mirror of https://github.com/MillironX/Kelpie.jl
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas A. Christensen II
a6a79b2f65
Signed-off-by: Thomas A. Christensen II <25492070+MillironX@users.noreply.github.com> |
2 years ago | |
---|---|---|
.github | 2 years ago | |
.vscode | 2 years ago | |
docs | 2 years ago | |
src | 2 years ago | |
test | 2 years ago | |
.JuliaFormatter.toml | 2 years ago | |
.gitignore | 2 years ago | |
.markdownlint.yml | 2 years ago | |
CHANGELOG.md | 2 years ago | |
CITATION.bib | 2 years ago | |
CODE_OF_CONDUCT.md | 2 years ago | |
CONTRIBUTING.md | 2 years ago | |
LICENSE | 2 years ago | |
Project.toml | 2 years ago | |
README.md | 2 years ago | |
cspell.json | 2 years ago |
README.md
Kelpie
🐕 I accidentally built an HTML templating engine in Julia. It looked a lot like Pug, but I like working dogs better, so I named it Kelpie.
Installation
You can install straight from the Julia REPL. Press ]
to enter pkg mode,
then:
add Kelpie
Usage
Most HTML elements1 now have functions of the same name: simply pass the contents as a positional argument, and attributes as keyword arguments, and everything will be returned as an EzXML Document or Node.
import EzXML: prettyprint
doc = html(
head(
title("Kelpie.jl is awesome!"),
),
body(
header(
h1("Dogs are cool"),
h2("Julia is cool"),
),
main(
img(;
src="/kelpie-on-sheep-back.jpg",
alt="A Kelpie herding sheep"
),
[
p("Kelpies make great herding dogs for $animal.")
for animal in ["cows", "sheep", "chickens"]
]...,
),
),
)
prettyprint(doc)
Turns into
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html>
<head>
<title>Kelpie.jl is awesome!</title>
</head>
<body>
<header>
<h1>Dogs are cool</h1>
<h2>Julia is cool</h2>
</header>
<main>
<img src="/kelpie-on-sheep-back.jpg" alt="A Kelpie herding sheep" />
<p>Kelpies make great herding dogs for cows.</p>
<p>Kelpies make great herding dogs for sheep.</p>
<p>Kelpies make great herding dogs for chickens.</p>
</main>
</body>
</html>
Everything is pure Julia, so your imagination is the limit!
-
Exception:
div
is the division function, and I wanted to leave it that way. To make<div>
s, you need to usehtml_div
. ↩︎