Documentation
-Fes: A lightweight, static, and opinionated microframework.
+Yait: Yet Another Init Tool
Introduction
-Fes, or Free Easy Site, is a microframework used for small static sites. It is not designed for complex web applications and that is why it is good. Yes, I hate modern web and that is the reason this exists.
+Yait, or Yet Another Init Tool, is a small shell script that templates minimal programs. It provides argument parsing and a general framework for your projects.
Installation
-git clone https://git.vxserver.dev/fSD/fes
+ git clone https://git.vxserver.dev/fSD/yait
cd fes
- go install fes
- Usage
-Typical workflows and examples.
--
-
- Creating project -
- Hosting websites -
- Generating websites -
sudo make install
Quick Start
-fes new hello
- This creates a new project under the name hello.
fes run hello
- This runs your project hello, by default at localhost:3000.
Extensions
-Let's add a paragraph to this simple site. Right now you have the following page:
-local fes = require("fes")
-local site = fes.fes()
-
--- site.copyright = fes.util.copyright("https://fsd.vxserver.dev", "vx-clutch")
-
-site:h1("Hello, World!")
-
-return site
- To add a simple paragraph modify like so:
-local fes = require("fes")
-local site = fes.fes()
-
--- site.copyright = fes.util.copyright("https://fsd.vxserver.dev", "vx-clutch")
-
-site:h1("Hello, World!")
-site:p("This is a paragraph")
-
-return site
- yait hello
+ This creates a C project.
+yait -x sh hello
+ This creates a SH project.
Cli Reference
@@ -249,492 +216,40 @@ return sitenew <project>docrun <project>-help--help-V1--version-no-color-x <language>-d <description>-S-f-d <author>-p <port>-r-versionReference
- Allstd functions have binding for the site and can be used like so: site:h1("Hello, World!"), where site is the site object.
- Builtin
-| Name | -Description | -
|---|---|
fes() |
- Generate a site object | -
:g() |
- Add a custom string to the site body | -
markdown_to_html(str: string) |
- Returns generated HTML from provided Markdown string. | -
Std
-| Name | -Description | -
|---|---|
std.a(link: string, str: string) |
- Returns an anchor tag. | -
std.ha(link: string, str: string) |
- Returns an anchor tag with sytiling to make it hidden. | -
std.external(link: string, str: string) |
- Returns an anchor tag that opens up in a new tab. | -
std.note(str: string) |
- Returns a note object. | -
std.muted(str: string) |
- Returns a muted object. | -
std.callout(str: string) |
- Returns a callout object. | -
std.h1(str: string) |
- Returns a header level 1 object. | -
std.h2(str: string) |
- Returns a header level 2 object. | -
std.h3(str: string) |
- Returns a header level 3 object. | -
std.h4(str: string) |
- Returns a header level 4 object. | -
std.h5(str: string) |
- Returns a header level 5 object. | -
std.h6(str: string) |
- Returns a header level 6 object. | -
std.p(str: string) |
- Returns a paragraph object. | -
std.pre(str: string) |
- Returns preformated text. | -
std.code(str: string) |
- Returns a codeblock. | -
std.ul(items: {...strings}) |
- Generates an unordered list from a table of strings. | -
std.ol(items: {...strings}) |
- Generates an ordered list from a table of strings. | -
std.tl(items: {...strings}) |
- Generates a table from a table of strings. | -
std.blockquote(str: string) |
- Returns a blockquote. | -
std.hr() |
- Returns a horizonal rule. | -
std.img(src: string, alt: string) |
- Returns an image at location source with given alternative text. | -
std.strong(str: string) |
- Returns bolded text. | -
std.em(str: string) |
- Returns italicized text. | -
std.br() |
- Returns a break. | -
std.div(content: string, class: string) |
- Returns a div of class class with content of content. |
-
std.span(content: string, class: string) |
- Returns a span of class class with content of content. |
-
std.escape(str: string) |
- Returns an html escaped string. | -
std.highlight(str: string) |
- Returns highlighted text. | -
std.banner(str: string) |
- Returns a banner that is attached to the top of the site. | -
std.center(str: string) |
- Returns centered text. | -
std.nav(link: string, str: string) |
- Returns a speical navigation link, used for in-site traversal. | -
std.rl(r: string, l: string) |
- Right and light alight content. | -
Symbol
-| Name | -Symbol | -
|---|---|
symbol.legal.copyright |
- © |
symbol.legal.registered_trademark |
- ® | -
symbol.legal.trademark |
- ™ | -
symbol.currency.euro |
- € | -
symbol.currency.pound |
- £ | -
symbol.currency.yen |
- ¥ | -
symbol.currency.cent |
- ¢ | -
symbol.currency.dollar |
- $ | -
symbol.currency.plus_minus |
- ± | -
symbol.currency.multiply |
- × | -
symbol.currency.divide |
- ÷ | -
symbol.currency.not_equal |
- ≠ | -
symbol.currency.less_equal |
- ≤ | -
symbol.currency.greater_equal |
- ≥ | -
symbol.currency.infinity |
- ∞ | -
symbol.currency.approx |
- ≈ | -
symbol.arrows.left |
- ← | -
symbol.arrows.right |
- → | -
symbol.arrows.up |
- ↑ | -
symbol.arrows.down |
- ↓ | -
symbol.arrows.left_right |
- ↔ | -
symbol.punctuation.left_double_quote |
- “ | -
symbol.punctuation.right_double_quote |
- ” | -
symbol.punctuation.left_single_quote |
- ‘ | -
symbol.punctuation.right_single_quote |
- ’ | -
symbol.punctuation.ellipsis |
- … | -
symbol.punctuation.em_dash |
- — | -
symbol.punctuation.en_dash |
- – | -
symbol.whitespace.non_breaking |
- - |
symbol.whitespace.thin |
- - |
symbol.symbols.degree |
- ° | -
symbol.symbols.micro |
- µ | -
symbol.symbols.section |
- § | -
symbol.symbols.paragraph |
- ¶ | -
symbol.symbols.check |
- ✓ | -
symbol.symbols.cross |
- ✗ | -
symbol.symbols.bullet |
- • | -
symbol.symbols.middle_dot |
- · | -
symbol.symbols.broken_bar |
- ¦ | -
symbol.html.less_than |
- < | -
symbol.html.greater_than |
- > | -
symbol.html.ampersand |
- & | -
symbol.html.double_quote |
- " | -
symbol.html.single_quote |
- ' | -
Util
-| Name | -Description | -
|---|---|
util.cc(tbl: {...strings}) |
- Concatenate a table of strings into a single string. | -
util.copyright(link: string, holder: string) |
- Used when setting the website copyright holder. | -
Dkjson
- This is a third party object and is best documented here -| Name | -Description | -
|---|---|
dkjson.encode(obj: {...any}) |
- Serilize a Lua table into JSON. | -
dkjson.decode(obj: {...any}) |
- Deserilize JSON into a Lua table. | -
Bus
-| Name | -Description | -
|---|---|
bus.url |
- The current url that was given. | -
bus.params |
- A table of url parameters if any. Ex: ?foo=bar*baz=foobar | -
App
- Fes'sapp module is a special table
- because it contains user defined functions. These
- functions are defined in the include/ For
- example if you define a include/hello.lua
- file with given contents: local hello = {}
-
-hello.render(std) return std.h1("Hello, World!") end
-
-return hello This can be called from another with,
- fes.app.hello.render(fes.std). Do with this
- as you will.
- Speical Directories
-| Name | -Description | -||
|---|---|---|---|
www/ |
- The main website is - contained here, this is - where www/index.lua - lives. | -||
static/ |
- All static content should
- be placed here and can
- be accessed at
- /static/path-to-file. |
- ||
include/ |
- Contains lua files that are - preloaded and globally - accessible. | -||
archive/ |
- Files here can be viewed in
- a file browser like
- format at
- /archive/path-to-dir. |
+ -q |
+ Suppress non-critical output. |
Documentation
-Yait: Yet Another Init Tool
-Introduction
-Yait, or Yet Another Init Tool, is a small shell script that templates minimal programs. It provides argument parsing and a general framework for your projects.
-Installation
-git clone https://git.vxserver.dev/fSD/yait
- cd fes
- sudo make install
- Quick Start
-yait hello
- This creates a C project.
-yait -x sh hello
- This creates a SH project.
- -Cli Reference
-| Name | -Description | -
|---|---|
--help |
- Display help information. | -
--version |
- Print version information. | -
-x <language> |
- Set project language. | -
-d <description> |
- Set a description. | -
-S |
- small project creation (only for shell scripts) | -
-f |
- overwrite existing files | -
-d <author> |
- Disable color output. | -
-r |
- Initalize a Git repository. | -
-q |
- Suppress non-critical output. | -