Author SHA1 Message Date
klemek 21e1469b51 feat: glsl support with shaderview 2026-04-26 17:05:01 +02:00
klemek 649102d1aa ci: add workflow dispatch button 2026-04-26 16:47:29 +02:00
klemek 169f35b556 feat: copyright 2026-04-26 15:39:15 +02:00
klemek 8d7388835b fix: push on default branch only 2026-04-26 15:16:33 +02:00
8 changed files with 21 additions and 7 deletions
+3
View File
@@ -3,6 +3,9 @@ on:
schedule: schedule:
- cron: "*/30 * * * *" - cron: "*/30 * * * *"
push: push:
branches:
- "main"
workflow_dispatch:
jobs: jobs:
build: build:
+3
View File
@@ -19,8 +19,11 @@ bun run build
- [x] SPA and opengraph - [x] SPA and opengraph
- [x] build with github actions - [x] build with github actions
- [x] config in sub repo - [x] config in sub repo
- [x] copyright
- [ ] nav bar on top - [ ] nav bar on top
- [ ] date updated - [ ] date updated
- [ ] archive page - [ ] archive page
- [ ] about page
- [ ] contact/links
- [ ] link to previous/next article - [ ] link to previous/next article
- [ ] proper docs - [ ] proper docs
+3
View File
@@ -5,6 +5,7 @@
"": { "": {
"name": "md-blog", "name": "md-blog",
"dependencies": { "dependencies": {
"@keithclark/shaderview": "git+https://github.com/keithclark/shaderview",
"highlight.js": "^11.11.1", "highlight.js": "^11.11.1",
"katex": "^0.16.45", "katex": "^0.16.45",
"lucide": "^1.11.0", "lucide": "^1.11.0",
@@ -210,6 +211,8 @@
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
"@keithclark/shaderview": ["@keithclark/shaderview@github:keithclark/shaderview#fee0cf0", {}, "keithclark-shaderview-fee0cf0"],
"@mermaid-js/parser": ["@mermaid-js/parser@1.1.0", "", { "dependencies": { "langium": "^4.0.0" } }, "sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw=="], "@mermaid-js/parser": ["@mermaid-js/parser@1.1.0", "", { "dependencies": { "langium": "^4.0.0" } }, "sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw=="],
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="], "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="],
+2 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "md-blog", "name": "md-blog",
"version": "1.2.0", "version": "1.4.0",
"private": true, "private": true,
"type": "module", "type": "module",
"repository": "https://github.com/klemek/md-blog", "repository": "https://github.com/klemek/md-blog",
@@ -17,6 +17,7 @@
"format": "prettier --write src/ *.ts *.json" "format": "prettier --write src/ *.ts *.json"
}, },
"dependencies": { "dependencies": {
"@keithclark/shaderview": "git+https://github.com/keithclark/shaderview",
"highlight.js": "^11.11.1", "highlight.js": "^11.11.1",
"katex": "^0.16.45", "katex": "^0.16.45",
"lucide": "^1.11.0", "lucide": "^1.11.0",
+5 -6
View File
@@ -1,5 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { REPOSITORY, NAME, VERSION, BASE_URL } from '@/lib/meta' import { REPOSITORY, NAME, VERSION, BASE_URL, TITLE, COPYRIGHT } from '@/lib/meta'
import { stripHTML } from '@/lib/strings';
</script> </script>
<template> <template>
@@ -8,10 +9,8 @@ import { REPOSITORY, NAME, VERSION, BASE_URL } from '@/lib/meta'
</template> </template>
<hr /> <hr />
<footer> <footer>
<small> {{ stripHTML(TITLE) }} &copy; {{ new Date().getFullYear() }}, <span v-html="COPYRIGHT"></span> | Made with
{{ new Date().getFullYear() }} Made with <a :href="REPOSITORY">{{ NAME }} {{ VERSION }}</a> |
<a :href="REPOSITORY">{{ NAME }} {{ VERSION }}</a> <a :href="BASE_URL + 'atom.xml'"><i icon="rss"></i> RSS</a>
<a :href="BASE_URL + 'atom.xml'"><i icon="rss"></i> RSS</a>
</small>
</footer> </footer>
</template> </template>
+1
View File
@@ -5,4 +5,5 @@ export const VERSION = packageJson.version
export const REPOSITORY = packageJson.repository export const REPOSITORY = packageJson.repository
export const TITLE = import.meta.env.VITE_APP_TITLE export const TITLE = import.meta.env.VITE_APP_TITLE
export const SIGNATURE = import.meta.env.VITE_APP_SIGNATURE export const SIGNATURE = import.meta.env.VITE_APP_SIGNATURE
export const COPYRIGHT = import.meta.env.VITE_APP_COPYRIGHT
export const BASE_URL = import.meta.env.BASE_URL export const BASE_URL = import.meta.env.BASE_URL
+3
View File
@@ -2,6 +2,9 @@ import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
import ShaderviewElement from '@keithclark/shaderview';
customElements.define('kc-shaderview', ShaderviewElement);
const app = createApp(App) const app = createApp(App)
app.use(router) app.use(router)
+1
View File
@@ -16,6 +16,7 @@ export default ({ mode }: { mode: string }) => {
process.env.VITE_APP_LANG = articlesConfig['lang'] process.env.VITE_APP_LANG = articlesConfig['lang']
process.env.VITE_APP_SIGNATURE = articlesConfig['signature'] process.env.VITE_APP_SIGNATURE = articlesConfig['signature']
process.env.VITE_CUSTOM_HEAD = articlesConfig['custom_head'] process.env.VITE_CUSTOM_HEAD = articlesConfig['custom_head']
process.env.VITE_APP_COPYRIGHT = articlesConfig['copyright']
return defineConfig({ return defineConfig({
plugins: [vue(), vueDevTools(), mdPlugin({ mode: [Mode.HTML] })], plugins: [vue(), vueDevTools(), mdPlugin({ mode: [Mode.HTML] })],