Electrostatic Discharge (esd) is here to take the pain out of making static websites.

License: CC BY 4.0 Join Discord Build and Package

Electrostatic Discharge

Electrostatic Discharge (esd) is here to take the pain out of making static websites. It's a minimal templating tool for html, css and javascript.

Unlike alternative options it takes seconds to learn and runs faster than you can type esd.

Download

Release: v0.2

Download All | Linux | Windows x64 | Windows x86 | MacOS

You can also build it yourself or try the quck start template instead. Go ahead, it's free .

Features

There are only 3 features.

Your website defined in /Private/Site/* is transformed with these three features and output into /Public/*.

  1. Files may be included from /Private/Components/* with {include:file_name}
  2. Variables can be declared in a global ./Vars.txt or in any source file with {variable:variable_name=example}.
  3. Variables can be substituted with {$variable_name}.

Docs

See the docs page to learn more about building and using esd.

License

See the LICENSE file.

Owner
xoorath
:: Senior Engine Programmer at Turn 10
xoorath
Comments
  • Create esd-template repository

    Create esd-template repository

    Github has a nice feature for making template repositories specifically for quick-starting projects.

    The template repository should have:

    • [ ] esd installed in a tools folder
    • [ ] A simple (open source?) template website with no dependencies.
    • [ ] The template should utilize many of the key features of esd as a quick reference / jumping off point.
    • [ ] build.bat for building the website on Windows
    • [ ] build.sh for building the website on MacOS and Linux
    • [ ] Should be CC0 / public domain without accidentally leaking the license into ESD.

    This task should also cover documenting the use/existence of this project in ESD.

  • Make some directories optional

    Make some directories optional

    We don’t want to start creating folders and making a mess if we aren’t sure that ead was started from a project directory.

    If Private/Sites exist and is not empty we should be able to generate a site. Public should be created if it’s missing and Components should be optional.

  • Improved file copying (binary handling)

    Improved file copying (binary handling)

    There are a few things we need to do better for file copying and binary handling.

    • [ ] Binary files should not use ESD they should just be copied.
    • [ ] We should wrap file copying to detect if a file has changed or not to allow skipping of those files.
    • [ ] Not directly related but in a similar part of the code: we should be deleting all temporary files when we're done with them (not just on the next run).
  • Issue copying fonts

    Issue copying fonts

    https://github.com/xoorath/xoorath.github.io/runs/5153586399?check_suite_focus=true

    It looks like there might be an issue copying binary files to folders that don’t exist yet, or something along those lines.

  • Measure performance against alternatives

    Measure performance against alternatives

    I'm pretty sure ESD is fast, but is it?

    Create criteria for a demonstration website and test methodology in a variety of frameworks and then measure site build times from scratch and iteratively. Create a docs entry for it.

    As a bonus you can write the time it takes to run ESD after running it.


    Some food for thought:

    Consider measuring the following data:

    • Build time
    • Install time
    • Install size
    • Iteration time

    Consider measuring the following frameworks:

    Try not to go too crazy; this is a sales pitch, not a whitepaper.

  • Improve detection of circular includes

    Improve detection of circular includes

    Currently Source/Renderer.cpp has a hard coded include depth limit of 30 (see k_maxIncludeDepth). This is to detect/handle circular includes with a limit that's high and unlikely limit to occur in real uses of esd.

    This can be improved by detecting circular includes prior to rendering anything by building some kind of include graph with that detection.

    Goals for this improvement:

    • [ ] No coded-in limit to the depth of includes.
    • [ ] Detection occurs before rendering / before the output file or any temporary files are created or modified.
    • [ ] Detection indicates to the user how to fix their problem / what files are a part of the circular dependency.
Related tags
The ultimate battery tester with ESR measurement and discharge graph. Based on an Arduino Nano and a 1602 LCD.
The ultimate battery tester with ESR measurement and discharge graph. Based on an Arduino Nano and a 1602 LCD.

Ultimate-Battery-Tester Version 1.0.0 Features Measures the ESR (equivalent series resistance) of the battery. This is an idicator of the health of th

Dec 7, 2022
A beginner friendly repo in the world of open source. Contribute here to add here project in any languages.
A beginner friendly repo in the world of open source. Contribute here to add here project in any languages.

Hacktober Fest 2021 Heyy There (●'◡'●) Here you can contribute to opensource project in any valid language and project. Just follow the contribution g

May 24, 2022
libelf as part of elfutils has been a major pain in the ass.

libelf in zig libelf as part of elfutils has been a major pain in the ass. All I want to do is make statically compiled programs that use eBPF (libbpf

Jul 21, 2021
A build of sowm that takes the pain from patching away.

sowm-flexipatch A build of sowm that takes the pain from patching away. About Similar to the flexipatch builds made by bakkeby, sowm-flexipatch aims t

Jun 26, 2022
:fish_cake: A new take on polymorphism in C++
:fish_cake: A new take on polymorphism in C++

DynaMix (Dynamic Mixins) is a new take on polymorphism. It lets the user compose and modify polymorphic objects at run time in C++. The library is a m

Dec 29, 2022
this project is a function in c to take the next line of a file or a file descriptor. this is a project of 42 school.
this project is a function in c to take the next line of a file or a file descriptor. this is a project of 42 school.

Get Next Line of 42. Make with ❤︎ for Luiz Cezario ?? Index What's this Repo? List of Archives Technologies How to Run Find a Bug? Or somenthing need

Nov 28, 2022
This Repo would take notes for some OCW courses which I consider it is excellent.

Excellent OCW This Repo would take notes for some OCW courses which I consider it is excellent. Course Code HomePage Assignment&Note [Done] MIT 6.S096

Apr 24, 2022
Take Damage hook hook made to increase weapon damage, the game I made is Free Fire in version 1.65

Take-Damage Simple Take Damage hook hook made to increase weapon damage, the game I made is Free Fire in version 1.65 Bool bool isTakeDemageBool = fal

Jan 1, 2022
This is our take on the digitalisation of the board game "b00le0", where you can play versus our AI, or against one of your friends in an online match.
This is our take on the digitalisation of the board game

This is our take on the digitalisation of the board game "b00le0", where you can play versus our AI, or against one of your friends in an online match.

Dec 8, 2022
Library of useful C++ snippets and reusable classes I've created as I build out Arduino Uno and ESP32 projects.

Arduino Snippets Library of useful C++ snippets and reusable classes I've created as I build out Arduino Uno and ESP32 projects. Button A simple butto

Feb 5, 2022
I made this programming language at 2 AM out of boredom. This is the repository for its interpreter.
I made this programming language at 2 AM out of boredom. This is the repository for its interpreter.

Cy Another programming language How to install the interpreter Install the dependencies (git, g++, make and sudo) For Debian and Ubuntu: sudo apt inst

Jan 23, 2022
A clone of the puzzle game Lights Out for the 68k Macintosh.
A clone of the puzzle game Lights Out for the 68k Macintosh.

MacLO MacLO is a clone of the puzzle game Lights Out for the 68k Macintosh. It is a port of ArduLO for the Arduboy. MacLO is B&W and has been tested o

Oct 9, 2022
The Rumor is pure, nasty growling bass fuzz pedal, with bold out-front presence, and cutting articulation.
The Rumor is pure, nasty growling bass fuzz pedal, with bold out-front presence, and cutting articulation.

Rumor.lv2 The Rumor is pure, nasty growling bass fuzz pedal, with bold out-front presence, and cutting articulation. Features Nasty FUZZ simulation. D

Feb 28, 2022
Crafter-C- - This might be a game, let's find out

Crafter Status update: This was a nightmare so I'm not going to finish it, but feel free to use the code This is Crafter, I'm not sure if I'll finish

Dec 23, 2021
Example-application - Example out-of-tree application that is also a module

Zephyr Example Application This repository contains a Zephyr example application. The main purpose of this repository is to serve as a reference on ho

Dec 13, 2022
PRINT++ is a simple, open source print library for C++, the main usage of PRINT++ is printing out "log" messages
PRINT++ is a simple, open source print library for C++, the main usage of PRINT++ is printing out

note that for now, print++ is using std::cout. In future it will be using own print function. Windows version can be unstable That library is in alpha

Jan 23, 2022
`lv_lib_100ask` is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of lvgl library.

Introduction lv_lib_100ask is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of

Dec 15, 2022
CQC (Charmed Quark Controller) a commercial grade, full featured, software based automation system. CQC is built on our CIDLib C++ development system, which is also available here on GitHub.

The CQC Automation System What It Is CQC is a commercial quality, software based automation system, suitable for residential or commercial application

Dec 13, 2022
I add my Pi Pico (RP2040) stuff here.

Pico Stuff I add my Pi Pico (RP2040) stuff here. There are complete apps and libraries for sensors or complicated tasks. Libraries BMP180: Header-only

Jan 8, 2023