diff --git a/.eleventy.js b/.eleventy.js index 8f29880..ce844fe 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,37 +1,47 @@ -const fs = require('fs'); -const miniHtml = require('html-minifier'); -const _ = require('lodash'); const pluginRss = require('@11ty/eleventy-plugin-rss'); +const { EleventyRenderPlugin } = require('@11ty/eleventy'); // Markdown // +function wikilinkSlugifier(pageName) { + pageName = pageName.replace(/\s+/, '-'); + pageName = slugify(pageName, { + remove: /'/g, + lower: true + }); + return pageName +} const markdownIt = require('markdown-it'); const md = markdownIt({ - html: true, - fence: false -}) -.disable('code') -.use(require('markdown-it-attrs')) -.use(require('markdown-it-anchor')) -.use(require('markdown-it-footnote')) -.use(require('markdown-it-sup')) -.use(require('markdown-it-sub')) -.use(require('markdown-it-ins')) -.use(require('markdown-it-mark')) -.use(require('markdown-it-task-lists')) -.use(require('markdown-it-container'), 'box') -.use(require('markdown-it-collapsible')) -.use(require('markdown-it-abbr')) -.use(require('markdown-it-mathjax3')); + html: true, + typographer: true + }) + .use(require('markdown-it-wikilinks')({ + uriSuffix: '', + makeAllLinksAbsolute: true, + class: 'wikilink', + postProcessPageName: wikilinkSlugifier + })) + .use(require('markdown-it-anchor'), { + permalink: require('markdown-it-anchor').permalink.headerLink(), + }) + .use(require('markdown-it-footnote')) + .use(require('markdown-it-mark')) + .use(require('markdown-it-task-lists')) + .use(require('markdown-it-mathjax3')); + +const { default: slugify } = require('slugify'); module.exports = function(eleventyConfig) { // General // eleventyConfig.setLibrary('md', md); - eleventyConfig.setFrontMatterParsingOptions({ - permalink: '/{{ page.fileSlug }}/', - }); eleventyConfig.addDataExtension('csv', contents => require('csv-parse/sync').parse(contents, {columns: true, skip_empty_lines: true})); - eleventyConfig.setFrontMatterParsingOptions({ excerpt: true, excerpt_separator: ''}); - eleventyConfig.setQuietMode(true); + + eleventyConfig.addGlobalData('permalink', () => { + return (data) => slugify(`${data.page.fileSlug}`, { + remove: /'/g, + lower: true + }).concat('/'); + }); // Multilingual sitemap collection. See https://github.com/quasibit/eleventy-plugin-sitemap#create-a-multilingual-sitemap eleventyConfig.addCollection('sitemap', function(collectionApi) { @@ -61,15 +71,10 @@ module.exports = function(eleventyConfig) { }); - // Scss // - eleventyConfig.addWatchTarget('styles'); - eleventyConfig.addPassthroughCopy({'styles': '/'}); eleventyConfig.addPassthroughCopy({'svg': '/'}); + eleventyConfig.addPassthroughCopy('index.js'); // Plugins // - eleventyConfig.addPlugin(require('@11ty/eleventy-plugin-directory-output')); - eleventyConfig.addPlugin(require('eleventy-plugin-find')); - eleventyConfig.addPlugin(require('@quasibit/eleventy-plugin-schema')); eleventyConfig.addPlugin(require('@11ty/eleventy-plugin-syntaxhighlight')); eleventyConfig.addPlugin(require('@aloskutov/eleventy-plugin-external-links'), { url: 'https://quitsocialmedia.club', @@ -99,6 +104,17 @@ module.exports = function(eleventyConfig) { } } }); + eleventyConfig.addPlugin(EleventyRenderPlugin); + eleventyConfig.addPlugin(require('eleventy-sass'), { + compileOptions: { + permalink: function(contents, inputPath) { + return (data) => data.page.filePathStem.replace(/^\/styles\//, '/') + '.css'; + } + }, + sass: { + style: 'compressed' + } + }); eleventyConfig.addPlugin(require('eleventy-plugin-svg-contents')); eleventyConfig.addPlugin(require('@sardine/eleventy-plugin-tinysvg'), { baseUrl: 'svg/' @@ -127,35 +143,30 @@ module.exports = function(eleventyConfig) { eleventyConfig.addFilter('absoluteUrl', pluginRss.absoluteUrl); eleventyConfig.addFilter('convertHtmlToAbsoluteUrls', pluginRss.convertHtmlToAbsoluteUrls); - // Minify output // - /*eleventyConfig.addTransform('miniHtml', function(content, outputPath) { - if( this.outputPath && this.outputPath.endsWith('.html') ) { - let minified = miniHtml.minify(content, { - useShortDoctype: true, - removeComments: true, - collapseWhitespace: true, - minifyCSS: true, - minifyJS: true, - minifyURLs: true - }); - return minified; - } - return content; - });*/ - - // 404 // - eleventyConfig.setBrowserSyncConfig({ - callbacks: { - ready: function(err, bs) { - bs.addMiddleware('*', (req, res) => { - const content_404 = fs.readFileSync('www/404.html'); - res.writeHead(404, { 'Content-Type': 'text/html; charset=UTF-8' }); - res.write(content_404); - res.end(); + // Production-only // + if (process.env.ELEVENTY_ENV == 'production') { + // Minify output // + eleventyConfig.addTransform(require('html-minifier'), function(content, outputPath) { + if( this.outputPath && this.outputPath.endsWith('.html') ) { + let minified = require('html-minifier').minify(content, { + useShortDoctype: true, + removeComments: true, + collapseWhitespace: true, + minifyCSS: true, + minifyJS: true, + minifyURLs: true }); + return minified; } - } - }); + return content; + }); + eleventyConfig.addPlugin(require('eleventy-plugin-purgecss')); + } + + eleventyConfig.on('eleventy.after', () => { + const execSync = require('child_process').execSync; + execSync(`npx pagefind`, { encoding: 'utf-8' }); + }) return { dir: { diff --git a/.eleventyignore b/.eleventyignore index 440d5c4..b43bf86 100644 --- a/.eleventyignore +++ b/.eleventyignore @@ -1,8 +1 @@ -riordinare/ -content/notes/templates/ -content/notes/.obsidian -content/notes/.trash -content/notes/PISE -content/notes/obsidian.css -content/notes/.* -README.md \ No newline at end of file +README.md diff --git a/.gitignore b/.gitignore index 6dd87da..a290264 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,4 @@ -# Eleventy stuff node_modules dist .env -cache -.cache www - -# Local Netlify folder -.netlify \ No newline at end of file diff --git a/README.md b/README.md index 0637352..c166782 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,30 @@ -[![Netlify Status](https://api.netlify.com/api/v1/badges/c5a2f8f0-e22a-4ae4-82e4-bcdea06adf7c/deploy-status)](https://app.netlify.com/sites/quit-social-media/deploys) [![LiberaPay Patrons](https://img.shields.io/liberapay/patrons/tommi.svg?logo=liberapay")](https://liberapay.com/tommi/) [![Awesome Humane Tech](https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true)](https://github.com/humanetech-community/awesome-humane-tech) +[![LiberaPay Patrons](https://img.shields.io/liberapay/patrons/tommi.svg?logo=liberapay)](https://liberapay.com/tommi) [![Awesome Humane Tech](https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true)](https://github.com/humanetech-community/awesome-humane-tech) -# Quit Social Media +# 🚀 Quit Social Media -Everithing about this website is written in its [about page](https://quitsocialmedia.club/about), WIP notes are [here](https://tommi.space/qsm), the development roadmap is [here](./pages/development-roadmap.md) +Everithing about this website is written in its [about page](https://quitsocialmedia.club/about), WIP notes are [here](https://quitsocialmedia.club/qsm), the development roadmap is [here](./pages/development-roadmap.md) -## Contribution +## 🫴🏼 Contribute This project warmly welcomes any contributor or supporter. Please visit the [contribution page](https://quitsocialmedia.club/contribute). + +## 👾 Source + +The main repository is hosted on [*giTMI*](https://gitmi.dev/tommi/quitsocialmedia.club 'quitsocialmedia.club repo on giTMI'). + +### 🪩 Mirrors + +- [GitHub](https://github.com/xplosionmind/quitsocialmedia.club 'quitsocialmedia.club on GitHub') +- [Codeberg](https://codeberg.org/tommi/quitsocialmedia.club 'quitsocialmedia.club on Codeberg') + +## 📟 Software + +This website is built using [Eleventy](https://11ty.dev 'Eleventy official website') + +## 🏠 Hosting + +Quit Social Media is self-hosted on [*Xplosion Server*](https://tommi.space/server 'Xplosion Server info on tommi.space') + +## ℹ️ Info + +Go to the [website development page](https://quitsocialmedia.club/development 'Website development - quitsocialmedia.club') to know more. diff --git a/assets/Humane Technology for Students.pdf b/assets/Humane Technology for Students.pdf deleted file mode 100644 index f33101b..0000000 Binary files a/assets/Humane Technology for Students.pdf and /dev/null differ diff --git a/assets/Internet-Freedom-Manifesto.pdf b/assets/Internet-Freedom-Manifesto.pdf deleted file mode 100644 index 1e31e08..0000000 Binary files a/assets/Internet-Freedom-Manifesto.pdf and /dev/null differ diff --git a/assets/THE SOCIAL DILEMMA - Discussion and Action Guide.pdf b/assets/THE SOCIAL DILEMMA - Discussion and Action Guide.pdf deleted file mode 100644 index 62e2203..0000000 Binary files a/assets/THE SOCIAL DILEMMA - Discussion and Action Guide.pdf and /dev/null differ diff --git a/assets/online privacy 1.jpg b/assets/online privacy 1.jpg deleted file mode 100644 index 3952ff4..0000000 Binary files a/assets/online privacy 1.jpg and /dev/null differ diff --git a/assets/online privacy 2.jpg b/assets/online privacy 2.jpg deleted file mode 100644 index bc8b1b2..0000000 Binary files a/assets/online privacy 2.jpg and /dev/null differ diff --git a/assets/online privacy 3.jpg b/assets/online privacy 3.jpg deleted file mode 100644 index 026293e..0000000 Binary files a/assets/online privacy 3.jpg and /dev/null differ diff --git a/assets/online privacy 4.jpg b/assets/online privacy 4.jpg deleted file mode 100644 index c0db496..0000000 Binary files a/assets/online privacy 4.jpg and /dev/null differ diff --git a/fonts/eb-garamond-italic.woff2 b/fonts/eb-garamond-italic.woff2 deleted file mode 100644 index c45f216..0000000 Binary files a/fonts/eb-garamond-italic.woff2 and /dev/null differ diff --git a/fonts/eb-garamond.woff2 b/fonts/eb-garamond.woff2 deleted file mode 100644 index 8f77241..0000000 Binary files a/fonts/eb-garamond.woff2 and /dev/null differ diff --git a/fonts/inter.woff2 b/fonts/inter.woff2 deleted file mode 100644 index ccd55f4..0000000 Binary files a/fonts/inter.woff2 and /dev/null differ diff --git a/fonts/ubuntu-mono.woff2 b/fonts/ubuntu-mono.woff2 deleted file mode 100644 index 4515784..0000000 Binary files a/fonts/ubuntu-mono.woff2 and /dev/null differ diff --git a/includes/disclaimer-old.html b/includes/disclaimer-old.html new file mode 100644 index 0000000..0a45f77 --- /dev/null +++ b/includes/disclaimer-old.html @@ -0,0 +1,11 @@ +
+

{% case lang %}{% when 'it' %}Nota{% when 'fr' %}À savoir{% else %}Disclaimer{% endcase %}

+

{% case lang %} + {% when 'it' %} + Quasi tutti i contenuti di questo sito sono stati creati e aggiunti più di due anni fa. Seppur molte argomentazioni rimangano valide, molte informazioni sarebbero da aggiornare. Tommi, l’autore originale, purtroppo non riesce a mantenere questo progetto con la frequenza che meriterebbe, ma chiunque può comunque contribuire. + {% when 'fr' %} + Presque tous les contenus presents sur ce site ont été creés et ajoutés il y a plus de deux ans. La majorité des arguments reste valide, toutefois beaucoup d’informations devrient être mis à jour. Tommi, l’auteur originel, malheureusement ne peut pas maintenir ce projet comment il mérite. Toute le monde est libre de contribuer quand même. + {% else %} + Almost everything in this website is more than two years old. The majority of the arguments sustained stays absolutely valid, but many information probably are out of date. Tommi, the original author, unfortunately cannot maintain this project as frequently and comprehensively as it deserves. Nevertheless, everyone is welcome to contribute anyway. + {% endcase %}

+
diff --git a/includes/draft.html b/includes/draft.html index 461f247..0f1d3a1 100644 --- a/includes/draft.html +++ b/includes/draft.html @@ -1,7 +1,7 @@
diff --git a/includes/head.html b/includes/head.html index 223349f..0450a0b 100644 --- a/includes/head.html +++ b/includes/head.html @@ -10,7 +10,6 @@ - diff --git a/includes/l10n.html b/includes/l10n.html index 1839dc8..a453ca1 100644 --- a/includes/l10n.html +++ b/includes/l10n.html @@ -1,13 +1,13 @@
diff --git a/includes/nav.html b/includes/nav.liquid similarity index 58% rename from includes/nav.html rename to includes/nav.liquid index bbf0292..ef478e4 100644 --- a/includes/nav.html +++ b/includes/nav.liquid @@ -1,10 +1,7 @@ -