diff --git a/.eleventy.js b/.eleventy.js index 4dac6e9..ab47ddd 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -82,6 +82,10 @@ module.exports = function(eleventyConfig) { eleventyConfig.addTransform('link', function(str) { return str && str.replace(/\[\[(.*?)\]\]/g, function(match, p1) { + //Check if it is an embedded excalidraw drawing or mathjax javascript + if (p1.indexOf(",") > -1) { + return match; + } const [fileName, linkTitle] = p1.split("|"); let permalink = `/notes/${slugify(fileName)}`; diff --git a/.env b/.env new file mode 100644 index 0000000..23f074e --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +THEME=https://raw.githubusercontent.com/colineckert/obsidian-things/main/obsidian.css +BASE_THEME=light \ No newline at end of file diff --git a/.gitignore b/.gitignore index b8b0076..f06235c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ node_modules dist -**/.env* \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index dd4d9ce..8648b92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@azure/storage-blob": "^12.8.0", "@octokit/core": "^3.5.1", "@sindresorhus/slugify": "^1.1.0", + "axios": "^0.26.1", "dotenv": "^10.0.0", "gray-matter": "^4.0.3", "markdown-it": "^12.3.2", @@ -603,12 +604,11 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "dependencies": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.14.8" } }, "node_modules/babel-walk": { @@ -1583,7 +1583,6 @@ "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true, "funding": [ { "type": "individual", @@ -2467,6 +2466,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/localtunnel/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, "node_modules/localtunnel/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -5329,12 +5337,11 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "requires": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.14.8" } }, "babel-walk": { @@ -6130,8 +6137,7 @@ "follow-redirects": { "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, "form-data": { "version": "4.0.0", @@ -6775,6 +6781,15 @@ "color-convert": "^2.0.1" } }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", diff --git a/package.json b/package.json index c7b8ca1..8bf1677 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@azure/storage-blob": "^12.8.0", "@octokit/core": "^3.5.1", "@sindresorhus/slugify": "^1.1.0", + "axios": "^0.26.1", "dotenv": "^10.0.0", "gray-matter": "^4.0.3", "markdown-it": "^12.3.2", diff --git a/src/site/_data/meta.js b/src/site/_data/meta.js index a16ddb0..a5d02e1 100644 --- a/src/site/_data/meta.js +++ b/src/site/_data/meta.js @@ -1,13 +1,18 @@ require("dotenv").config(); -let themeStyle = ""; -if (process.env.THEME) { - fetch(process.env.THEME).then(response => response.text()).then(text => { - themeStyle = ""; - }); -} -module.exports = { - env: process.env.ELEVENTY_ENV, - theme: process.env.THEME, - themeStyle: themeStyle, - baseTheme: process.env.BASE_THEME || "dark" -}; \ No newline at end of file +const axios = require("axios"); + + +module.exports = async() => { + let themeStyle = ""; + if (process.env.THEME) { + const res = await axios.get(process.env.THEME) + themeStyle = ``; + } + return { + env: process.env.ELEVENTY_ENV, + theme: process.env.THEME, + themeStyle: themeStyle, + baseTheme: process.env.BASE_THEME || "dark" + } + +}; diff --git a/src/site/_includes/components/pageheader.njk b/src/site/_includes/components/pageheader.njk index 9e6acbe..9b9eb7b 100644 --- a/src/site/_includes/components/pageheader.njk +++ b/src/site/_includes/components/pageheader.njk @@ -10,11 +10,18 @@ - + + {%-if meta.themeStyle%} - {{meta.themeStyle}} + {{meta.themeStyle | safe}} {%endif%} diff --git a/src/site/styles/style.scss b/src/site/styles/style.scss index 9a68a83..1d754c7 100644 --- a/src/site/styles/style.scss +++ b/src/site/styles/style.scss @@ -41,12 +41,18 @@ h4 { text-align: center; } -body { - background-color: rgb(32, 31, 31); +.theme-dark { + background: rgb(32, 31, 31); color: white; font-family: 'Roboto', sans-serif; } +.theme-light { + background: white; + color: black; + font-family: 'Roboto', sans-serif; +} + a { text-decoration: underline; color: rgb(97, 186, 245);