Skip to content

Commit

Permalink
Merge pull request #11 from AbstractXan/template-renderer
Browse files Browse the repository at this point in the history
Template Engine and Renderer
  • Loading branch information
AbstractXan committed Jan 27, 2022
2 parents 850f6dc + c49fea5 commit ae1df41
Show file tree
Hide file tree
Showing 45 changed files with 1,471 additions and 293 deletions.
4 changes: 1 addition & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,4 @@ jobs:

# Runs a set of commands using the runners shell
- name: Run build
run: |
cd src
./build.sh
run: ./build.sh
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.vscode/
src/mizi.dSYM/
49 changes: 47 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"editor.formatOnSave": true,
"files.associations": {
"*.cpp": "cpp",
"cmath": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
Expand Down Expand Up @@ -37,6 +38,50 @@
"xstddef": "cpp",
"xstring": "cpp",
"xtr1common": "cpp",
"xutility": "cpp"
}
"xutility": "cpp",
"map": "cpp",
"__bit_reference": "cpp",
"__config": "cpp",
"__debug": "cpp",
"__errc": "cpp",
"__functional_base": "cpp",
"__hash_table": "cpp",
"__locale": "cpp",
"__mutex_base": "cpp",
"__node_handle": "cpp",
"__nullptr": "cpp",
"__split_buffer": "cpp",
"__string": "cpp",
"__threading_support": "cpp",
"__tree": "cpp",
"__tuple": "cpp",
"algorithm": "cpp",
"array": "cpp",
"atomic": "cpp",
"bit": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"chrono": "cpp",
"complex": "cpp",
"cstdarg": "cpp",
"ctime": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"functional": "cpp",
"iomanip": "cpp",
"iterator": "cpp",
"locale": "cpp",
"mutex": "cpp",
"optional": "cpp",
"ratio": "cpp",
"sstream": "cpp",
"stack": "cpp",
"string_view": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"filesystem": "cpp",
"__bits": "cpp",
"clocale": "cpp"
},
"C_Cpp.errorSquiggles": "Disabled"
}
31 changes: 14 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,23 @@ Sample generated repo here : [mizi.netlify.com](https://mizi.netlify.com)

## Download and run
- Clone / Download this repository
- Move into `src` by doind `cd src`
- Update `src/config.txt`
- Update `src/config.conf` for your webpages
- Update `src/website.md`
- Build using `./build.sh` or Run `./mizi` to create site
- Go up a directory `cd ..`
- Open `index.html` which essentially opens `site/home.html`
- Build using `./build.sh` or Run `./src/mizi` to create site
- Open `index.html` which opens `site/home.html`

![](./media/mizi.png)
## Currently supported format
## Currently supported features:

1. Inputs a single markdown file as input
2. Configurable `<head>` and header and footer for every page
3. Create reusable components using templates by updating `templates.conf`

- A config file for `<head>` , header and footer

``` md
# Category
## Page
### Part
### Section
- First
- Second
- Third
Expand All @@ -39,19 +40,15 @@ Inline images ![images](./media/interface/favicon.ico)

$$$ Seperate Pages
## Seperate Page
### Part
### Section
Text
```

## Todo

``` md
- add template engine
- setup better unit testing functionality
- fix url and image parsing code by split string
- adding classes to images
{{Template Arg1 Arg2}}
```

- A `config.conf` file for `<head>` , header and footer
- Templating feature through `template.conf`

## Contribute
Open a new issue for bug / feature requests. PRs are welcome.

3 changes: 3 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cd src

./buildsrc.sh
10 changes: 7 additions & 3 deletions src/config.txt → config.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
shortcut_icon=../media/interface/favicon.ico
icon=../media/interface/favicon.ico
name=Mizi
description=Site generated using Mizi
creator=abstractxan
header=<a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a>
description=Site generated using Mizi
creator=abstractxan
header=<a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a>
footer=<p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p>
templatefile=template.conf
css=../style.css
site=site/
head=<script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script>
Binary file modified media/mizi.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 7 additions & 1 deletion site/about.html
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi '><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi '><meta name='twitter:creator' content='@abstractxan '><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - About</title><link rel='stylesheet' type='text/css' href='../links/main.css'></head><body class='About'><header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a> </header><main class='page'><h1>About</h1></ul><h2 id='_'> </h2><p><p>This site was generated using this file: <a href='https://raw.githubusercontent.com/AbstractXan/Mizi/master/src/website.md'>website.md</a></p><p></p><p><a href='https://github.com/abstractxan/mizi'>Read more</a> about Mizi</p><p></p><hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer></body></html>
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi'><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi'><meta name='twitter:creator' content='@abstractxan'><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - About</title><link rel='stylesheet' type='text/css' href='../style.css'><script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script></head><body class='About'>
<header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a></header><main class='page'>
<h1>About</h1>
</ul><h2 id='_'> </h2>
This site was generated using this file: <a href='https://raw.githubusercontent.com/AbstractXan/Mizi/master/src/website.md'>website.md</a><br><br><a href='https://github.com/abstractxan/mizi'>Read more</a> about Mizi<br>
<hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer>
</body></html>
3 changes: 2 additions & 1 deletion site/home.html
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi '><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi '><meta name='twitter:creator' content='@abstractxan '><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - Home</title><link rel='stylesheet' type='text/css' href='../links/main.css'></head><body class='Home'><header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a> </header><main class='home'><h2>Mizi</h2><ul><li><a href='about.html'>About</a></li></ul><h2>Testing</h2><ul><li><a href='html.html'>HTML</a></li><li><a href='index.html'>Index</a></li><li><a href='unordered_list.html'>Unordered List</a></li><li><a href='links.html'>Links</a></li><li><a href='images.html'>Images</a></li><li><a href='separatepages.html'>SeparatePages</a></li><li><a href='tagging.html'>Tagging</a></li></ul><hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer></body></html>
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi'><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi'><meta name='twitter:creator' content='@abstractxan'><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - Home</title><link rel='stylesheet' type='text/css' href='../style.css'><script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script></head><body class='Home'>
<header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a></header><main class='home'><h2>Mizi</h2><ul><li><a href='about.html'>About</a></li></ul><h2>Features</h2><ul><li><a href='html.html'>HTML</a></li><li><a href='index.html'>Index</a></li><li><a href='unordered_list.html'>Unordered List</a></li><li><a href='links.html'>Links</a></li><li><a href='images.html'>Images</a></li><li><a href='separatepages.html'>SeparatePages</a></li><li><a href='templates.html'>Templates</a></li></ul><h2>Header from Template</h2><ul><li><a href='page_from_template.html'>Page from Template</a></li></ul><hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer></body></html>
8 changes: 7 additions & 1 deletion site/html.html
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi '><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi '><meta name='twitter:creator' content='@abstractxan '><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - HTML</title><link rel='stylesheet' type='text/css' href='../links/main.css'></head><body class='HTML'><header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a> </header><main class='page'><h1>HTML</h1></ul><h2 id='html_lt_p_gt_tag'>Html &lt; p &gt; tag</h2><p><p><p>This is a paragraph</p></p><p></p><hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer></body></html>
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi'><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi'><meta name='twitter:creator' content='@abstractxan'><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - HTML</title><link rel='stylesheet' type='text/css' href='../style.css'><script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script></head><body class='HTML'>
<header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a></header><main class='page'>
<h1>HTML</h1>
</ul><h2 id='html_lt_p_gt_tag'>Html &lt; p &gt; tag</h2>
<p>This is a paragraph</p><br>
<hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer>
</body></html>
23 changes: 22 additions & 1 deletion site/images.html
Original file line number Diff line number Diff line change
@@ -1 +1,22 @@
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi '><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi '><meta name='twitter:creator' content='@abstractxan '><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - Images</title><link rel='stylesheet' type='text/css' href='../links/main.css'></head><body class='Images'><header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a> </header><main class='page'><h1>Images</h1><ul class='jump'><li><a href='#optional_alt_text'>Optional alt text</a></li><li><a href='#single'>Single</a></li><li><a href='#inline'>Inline</a></li><li><a href='#multiple'>Multiple</a></li><li><a href='#errors'>Errors</a></li></ul></ul><h2 id='optional_alt_text'>Optional alt text</h2><p><p><img src='../media/interface/favicon.ico' alt=''></p></ul><h2 id='single'>Single</h2><p><p><img src='../media/interface/favicon.ico' alt='image'></p></ul><h2 id='inline'>Inline</h2><p><p>Text! <img src='../media/interface/favicon.ico' alt='image'> !Text</p></ul><h2 id='multiple'>Multiple</h2><p><p><img src='../media/interface/favicon.ico' alt='image'> <img src='../media/interface/favicon.ico' alt='image'></p></ul><h2 id='errors'>Errors</h2><p><p>![brokenImageText (../media/interface/favicon.ico)</p><p>![brokenImageLink]</p><p></p><hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer></body></html>
<!DOCTYPE html><html lang='en'><head><link rel='shortcut icon' href='../media/interface/favicon.ico' type='image/x-icon'><link rel='icon' href='../media/interface/favicon.ico' type='image/x-icon'><meta charset='utf-8'><meta name='description' content='Site generated using Mizi'><meta name='viewport' content='width=device-width, initial-scale=1.0'><meta name='twitter:card' content='summary'><meta name='twitter:site' content='Mizi'><meta name='twitter:title' content='Mizi'><meta name='twitter:description' content='Site generated using Mizi'><meta name='twitter:creator' content='@abstractxan'><meta name='twitter:image' content='../media/interface/favicon.ico'><meta property='og:title' content='Mizi'><meta property='og:site_name' content='Mizi'><title> Mizi - Images</title><link rel='stylesheet' type='text/css' href='../style.css'><script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script></head><body class='Images'>
<header><a id='logo' href='home.html'><img src='../media/interface/logo.png' alt='logo' ></a></header><main class='page'>
<h1>Images</h1>
<ul class='jump'>
<li><a href='#optional_alt_text'>Optional alt text</a></li>
<li><a href='#single'>Single</a></li>
<li><a href='#inline'>Inline</a></li>
<li><a href='#multiple'>Multiple</a></li>
<li><a href='#errors'>Errors</a></li>
</ul>
</ul><h2 id='optional_alt_text'>Optional alt text</h2>
<img src='../media/interface/favicon.ico' alt=''><br>
</ul><h2 id='single'>Single</h2>
<img src='../media/interface/favicon.ico' alt='image'><br>
</ul><h2 id='inline'>Inline</h2>
Text <img src='../media/interface/favicon.ico' alt='image'> Text<br>
</ul><h2 id='multiple'>Multiple</h2>
<img src='../media/interface/favicon.ico' alt='image'> <img src='../media/interface/favicon.ico' alt='image'><br>
</ul><h2 id='errors'>Errors</h2>
![brokenImageText (../media/interface/favicon.ico)<br>![brokenImageLink]<br>
<hr/></main><footer><p><p>Website generated using <u><a href='https://github.com/abstractxan/Mizi'>abstractxan/Mizi</a><u></p></p></footer>
</body></html>

0 comments on commit ae1df41

Please sign in to comment.