From 2ec0acf8709d7f7aa928c3ef5765ed4c50e4e814 Mon Sep 17 00:00:00 2001 From: Bun Date: Mon, 30 Jun 2025 19:43:00 -0400 Subject: [PATCH] First commit. --- config.toml | 16 ++++++++++ content/blog/_index.md | 6 ++++ content/blog/first.md | 6 ++++ public/elasticlunr.min.js | 10 +++++++ public/search_index.en.js | 1 + templates/base.html | 17 +++++++++++ templates/blog-page.html | 9 ++++++ templates/blog.html | 14 +++++++++ templates/index.html | 7 +++++ templates/sidebar.css | 58 +++++++++++++++++++++++++++++++++++++ templates/sidebar.html | 42 +++++++++++++++++++++++++++ templates/source/alien.png | Bin 0 -> 11545 bytes templates/source/meirl.gif | Bin 0 -> 4399 bytes 13 files changed, 186 insertions(+) create mode 100644 config.toml create mode 100644 content/blog/_index.md create mode 100644 content/blog/first.md create mode 100644 public/elasticlunr.min.js create mode 100644 public/search_index.en.js create mode 100644 templates/base.html create mode 100644 templates/blog-page.html create mode 100644 templates/blog.html create mode 100644 templates/index.html create mode 100644 templates/sidebar.css create mode 100644 templates/sidebar.html create mode 100644 templates/source/alien.png create mode 100644 templates/source/meirl.gif diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..e979376 --- /dev/null +++ b/config.toml @@ -0,0 +1,16 @@ +# The URL the site will be built for +base_url = "https://www.nixfox.ca" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true + +[extra] +# Put all your custom variables here diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..72bc989 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,6 @@ ++++ +title = "List of blog posts" +sort_by = "date" +template = "blog.html" +page_template = "blog-page.html" ++++ diff --git a/content/blog/first.md b/content/blog/first.md new file mode 100644 index 0000000..a1d1130 --- /dev/null +++ b/content/blog/first.md @@ -0,0 +1,6 @@ ++++ +title = "My first post" +date = 2019-11-27 ++++ + +This is my first blog post. diff --git a/public/elasticlunr.min.js b/public/elasticlunr.min.js new file mode 100644 index 0000000..79dad65 --- /dev/null +++ b/public/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.6 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o + + + + + NixFox + + + +
+
+ {% block content %} {% endblock content %} +
+
+ + + diff --git a/templates/blog-page.html b/templates/blog-page.html new file mode 100644 index 0000000..f0f638e --- /dev/null +++ b/templates/blog-page.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ page.title }} +

+

{{ page.date }}

+{{ page.content | safe }} +{% endblock content %} diff --git a/templates/blog.html b/templates/blog.html new file mode 100644 index 0000000..2529646 --- /dev/null +++ b/templates/blog.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ section.title }} +

+ +{% endblock content %} diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..9b8bc12 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block content %} +

+ This is my blog made with Zola. +

+{% endblock content %} diff --git a/templates/sidebar.css b/templates/sidebar.css new file mode 100644 index 0000000..383f6f9 --- /dev/null +++ b/templates/sidebar.css @@ -0,0 +1,58 @@ +body { + margin: 0; + padding: 0; + font-family: 'IBM Plex Mono', monospace; + font-size: 25px; +} + +a { + cursor:crosshair; + border: 1px solid transparent; + margin: 0px; +} + +.sidebar { + width: 250px; + position: fixed; + height: 100%; + overflow: auto; + color: #000000; + background-color: #000000; + background-image: url('https://static.vecteezy.com/system/resources/previews/034/886/330/non_2x/black-background-modern-dark-abstract-seamless-texture-vector.jpg'); + background-attachment: fixed; +} + +.sb_header { + font-size:25px; + text-decoration: none; +} + +.sb_text { + margin: 0.5em; + padding: 0.5em; +} + +.sb_link { + color:#ffffff; + font-size:16px; + text-decoration: none; +} + +.sb_link:hover { + color:#7ccbd5; + font-size:17px; + text-decoration:none; +} + +.sb_img { + display: block; + margin-left: auto; + margin-right: auto; + width: 150px; +} + +.personal {color:#fc3f5b;} +.nixfox {color:#2abafc;} + +.pers:hover {color:#fca9c0;} +.fox:hover {color:#a9c0fc;} diff --git a/templates/sidebar.html b/templates/sidebar.html new file mode 100644 index 0000000..d00e006 --- /dev/null +++ b/templates/sidebar.html @@ -0,0 +1,42 @@ + + + + + + + + +nixfox den + + + + + + + diff --git a/templates/source/alien.png b/templates/source/alien.png new file mode 100644 index 0000000000000000000000000000000000000000..a0cbe5e32faa125d2636f3518f6920d190c863ab GIT binary patch literal 11545 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 literal 0 HcmV?d00001