From 91c86d21b3c763c0551952055cc66285b97173b4 Mon Sep 17 00:00:00 2001 From: bfahrenfort Date: Sat, 4 Nov 2023 12:23:25 -0500 Subject: [PATCH] Quartz sync: Nov 4, 2023, 12:23 PM --- content/Essays/ai-training.md | 12 ++++++++++ quartz/plugins/transformers/remark42.ts | 31 +++++++++++++------------ 2 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 content/Essays/ai-training.md diff --git a/content/Essays/ai-training.md b/content/Essays/ai-training.md new file mode 100644 index 000000000..31a23e16d --- /dev/null +++ b/content/Essays/ai-training.md @@ -0,0 +1,12 @@ +--- +title: Why Training Generative AI Constitutes Copyright Infringement +tags: + - essay + - seedling + - ai +date: 2023-11-04 +draft: true +--- +Quick reiteration: **This site contains my own opinion in a personal capacity, and is not legal advice, nor is it representative of anyone else's opinion.** + +I've seen a few news articles and opinion pieces recently that support training generative AI and LLMs on the broader internet as well as more traditional copyrighted works, without respect to the copyright holders for all of the above. \ No newline at end of file diff --git a/quartz/plugins/transformers/remark42.ts b/quartz/plugins/transformers/remark42.ts index d26f966e4..84c8e6f8d 100644 --- a/quartz/plugins/transformers/remark42.ts +++ b/quartz/plugins/transformers/remark42.ts @@ -1,3 +1,6 @@ +// Remark42 comments for Quartz +// v1.1 + import { QuartzTransformerPlugin } from "../types" // Configuration documented at https://remark42.com/docs/configuration/frontend/ @@ -20,37 +23,35 @@ export const Remark42: QuartzTransformerPlugin = (opts?: Options) => { var scripts = new Array() // Put the config into window scope - var configAsString : string = "var remark_config={" - for(const key in opts) - { + var configAsString: string = "var remark_config={" + for (const key in opts) { let value = opts[key as keyof Options] // Fucked configAsString += key + ":" + "'" + value + "'," // Turbo fucked } configAsString += "}" - scripts.push({script:configAsString, loadTime: "afterDOMReady", contentType: "inline"}) - + scripts.push({ script: configAsString, loadTime: "afterDOMReady", contentType: "inline" }) + // Modify the config based on the client sided theme - const dynamicTheme : string = `remark_config.theme = document.documentElement.getAttribute('saved-theme')` - scripts.push({script:dynamicTheme, loadTime: "afterDOMReady", contentType: "inline"}) + const dynamicTheme: string = `remark_config.theme = document.documentElement.getAttribute('saved-theme')` + scripts.push({ script: dynamicTheme, loadTime: "afterDOMReady", contentType: "inline" }) // Put the embeddable components into window scope - function getComment(e : Array) { - for (var o = 0; o < e.length; o++) - { + function getComment(e: Array) { + for (var o = 0; o < e.length; o++) { var src = opts?.host + '/web/' + e[o] + '.js' - scripts.push({src: src, loadTime: "afterDOMReady", contentType: "external",}) + scripts.push({ src: src, loadTime: "afterDOMReady", contentType: "external", }) } } getComment(opts?.components || ["embed"]) - + // Allow SPA mode - const spaRouting : string = ` + const spaRouting: string = ` function initRemark42() { if (window.REMARK42) { if (this.remark42Instance) { this.remark42Instance.destroy() } - + remark_config['url'] = window.location.origin + window.location.pathname this.remark42Instance = window.REMARK42.createInstance(remark_config) } } @@ -59,7 +60,7 @@ export const Remark42: QuartzTransformerPlugin = (opts?: Options) => { this.initRemark42() }) ` - scripts.push({script:spaRouting, loadTime:"afterDOMReady", contentType:"inline"}) + scripts.push({ script: spaRouting, loadTime: "afterDOMReady", contentType: "inline" }) return { name: "Remark42",