diff --git a/assets/Manrope/Manrope-Bold.ttf b/assets/Manrope/Manrope-Bold.ttf new file mode 100644 index 0000000..23e6a4e Binary files /dev/null and b/assets/Manrope/Manrope-Bold.ttf differ diff --git a/assets/Manrope/Manrope-ExtraBold.ttf b/assets/Manrope/Manrope-ExtraBold.ttf new file mode 100644 index 0000000..b650e68 Binary files /dev/null and b/assets/Manrope/Manrope-ExtraBold.ttf differ diff --git a/assets/Manrope/Manrope-ExtraLight.ttf b/assets/Manrope/Manrope-ExtraLight.ttf new file mode 100644 index 0000000..60df426 Binary files /dev/null and b/assets/Manrope/Manrope-ExtraLight.ttf differ diff --git a/assets/Manrope/Manrope-Light.ttf b/assets/Manrope/Manrope-Light.ttf new file mode 100644 index 0000000..fdf64b7 Binary files /dev/null and b/assets/Manrope/Manrope-Light.ttf differ diff --git a/assets/Manrope/Manrope-Medium.ttf b/assets/Manrope/Manrope-Medium.ttf new file mode 100644 index 0000000..f3a1dc9 Binary files /dev/null and b/assets/Manrope/Manrope-Medium.ttf differ diff --git a/assets/Manrope/Manrope-Regular.ttf b/assets/Manrope/Manrope-Regular.ttf new file mode 100644 index 0000000..7fdc456 Binary files /dev/null and b/assets/Manrope/Manrope-Regular.ttf differ diff --git a/assets/Manrope/Manrope-SemiBold.ttf b/assets/Manrope/Manrope-SemiBold.ttf new file mode 100644 index 0000000..cd46e55 Binary files /dev/null and b/assets/Manrope/Manrope-SemiBold.ttf differ diff --git a/assets/css/fonts.css b/assets/css/fonts.css new file mode 100644 index 0000000..021d40a --- /dev/null +++ b/assets/css/fonts.css @@ -0,0 +1,34 @@ +@font-face { + font-family: 'Manrope XLight'; + src: url('/assets/Manrope/Manrope-ExtraLight.ttf'); +} + +@font-face { + font-family: 'Manrope Light'; + src: url('/assets/Manrope/Manrope-Light.ttf'); +} + +@font-face { + font-family: 'Manrope Regular'; + src: url('/assets/Manrope/Manrope-Regular.ttf'); +} + +@font-face { + font-family: 'Manrope Medium'; + src: url('/assets/Manrope/Manrope-Medium.ttf'); +} + +@font-face { + font-family: 'Manrope SemiBold'; + src: url('/assets/Manrope/Manrope-SemiBold.ttf'); +} + +@font-face { + font-family: 'Manrope Bold'; + src: url('/assets/Manrope/Manrope-Bold.ttf'); +} + +@font-face { + font-family: 'Manrope XBold'; + src: url('/assets/Manrope/Manrope-ExtraBold.ttf'); +} \ No newline at end of file diff --git a/assets/css/landing.css b/assets/css/landing.css new file mode 100644 index 0000000..85da208 --- /dev/null +++ b/assets/css/landing.css @@ -0,0 +1,212 @@ +body { + width: min(95vw, 80ch); +} + +h2 { + font-size: 1.25rem; +} + + + +nav { + display: flex; + justify-content: center; + flex-wrap: wrap; + + padding: .5rem 3rem 1rem 3rem; +} + +nav > a { + color: var(--text); + border-bottom: .1rem solid var(--text); + + padding: .3rem 1rem; + margin: 1rem 2rem; + + font-size: .85rem; + text-decoration: none; + + transition: color .3s, border-bottom .3s; +} + +nav > a:hover { + color: var(--primary); + border-bottom: .1rem solid var(--primary); +} + + + +.presentation { + display: flex; + flex-direction: column; + align-items: center; + + padding: 2rem 3rem; + margin: 1rem auto; + width: min(65ch, 90%); + + background-color: var(--grey3); + border-radius: .5rem; + box-shadow: 0 1rem 2rem var(--grey1); +} + +.presentation > img { + grid-area: logo; + width: min(20ch, 35vmin); + + margin-right: 1rem; + box-shadow: none; +} + +.presentation > header { + font-size: 2rem; + margin-bottom: 1rem; +} + +.qwik-explained { + width: min(45ch, 80%); +} + + + +.services-list { + display: flex; + flex-wrap: wrap; + justify-content: center; +} + +.service { + width: min(35ch, 80%); + display: flex; + flex-direction: column; + align-items: center; + + margin: 1rem auto; + padding: 1rem 1.5rem; + + background-color: var(--grey3); + border-radius: .5rem; + box-shadow: 0 1rem 2rem var(--grey1); +} + +.service > h2 { + text-align: center; + margin: 0; +} + +.service > p { + margin: 1rem auto; + text-align: left; +} + +.buttons { + display: flex; + flex-wrap: wrap; + justify-content: center; + + margin-top: auto; +} + +.buttons > a { + color: var(--primary); + background-color: transparent; + + border: .1rem solid var(--primary); + border-radius: .5rem; + /* box-shadow: 0 -5rem 20rem transparent; */ + + margin: .5rem; + padding: .5rem 1.5rem; + display: block; + + font-size: .75rem; + text-decoration: none transparent; + text-align: center; + + transition: color .3s, background-color .3s, box-shadow .3s; +} + +.buttons > a:hover, .buttons > a:focus { + color: var(--surface); + background-color: var(--primary); + /* box-shadow: 0 .25rem 2rem var(--primary); */ +} + +.buttons > a.onion { + color: var(--purple); + border-color: var(--purple); +} + +.buttons > a.onion:hover, .buttons > a.onion:focus { + color: var(--text); + background-color: var(--purple); +} + + + +.maintainer-list { + display: flex; + flex-wrap: wrap; + justify-content: center; +} + +.maintainer { + display: flex; + flex-direction: column; + align-items: center; + + padding: 1rem 2rem; + margin: 1rem auto; + + background-color: var(--grey3); + border-radius: .5rem; + box-shadow: 0 1rem 2rem var(--grey1); +} + +.maintainer > h2 { + margin: 0; +} + +.contact-options { + display: grid; + grid-template-columns: auto auto; +} + +.contact-type { + font-size: .85rem; + color: var(--accent); + margin-right: 1rem; +} + +.contact-options > p { + padding: .5rem 0; +} + + + +footer { + display: flex; + flex-direction: column; + align-items: center; + + margin: 15vh 0; + padding: 1rem auto; + + width: 100%; + border-top: .1rem solid var(--accent); +} + +footer > p, footer > p > a { + font-size: .65rem; + width: max-content; +} + +.love { + font-size: .85rem; + margin-top: 2rem; +} + +.heart { + color: var(--accent2); + font-size: 1.15rem; +} diff --git a/assets/css/theme.css b/assets/css/theme.css index 3b286b2..6fb3b27 100644 --- a/assets/css/theme.css +++ b/assets/css/theme.css @@ -6,7 +6,7 @@ box-sizing: border-box; scroll-behavior: smooth; - font-family: 'sans-serif'; + font-family: 'Manrope Regular', sans-serif; font-size: .85rem; line-height: 1.5; @@ -72,6 +72,10 @@ a { color: var(--accent2); } +.centered { + text-align: center; +} + blockquote { margin: 1rem; padding: .5rem 1rem; @@ -143,7 +147,7 @@ code * { } img { - margin: 1rem 0; + margin: 1rem 5%; border-radius: .5rem; box-shadow: 0 1rem 2rem var(--grey1); } \ No newline at end of file diff --git a/assets/favicons/android-chrome-192x192.png b/assets/favicons/android-chrome-192x192.png new file mode 100644 index 0000000..ba7cee9 Binary files /dev/null and b/assets/favicons/android-chrome-192x192.png differ diff --git a/assets/favicons/android-chrome-512x512.png b/assets/favicons/android-chrome-512x512.png new file mode 100644 index 0000000..a4bd27a Binary files /dev/null and b/assets/favicons/android-chrome-512x512.png differ diff --git a/assets/favicons/apple-touch-icon.png b/assets/favicons/apple-touch-icon.png new file mode 100644 index 0000000..d1e86ea Binary files /dev/null and b/assets/favicons/apple-touch-icon.png differ diff --git a/assets/favicons/browserconfig.xml b/assets/favicons/browserconfig.xml new file mode 100644 index 0000000..2773129 --- /dev/null +++ b/assets/favicons/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #181833 + + + diff --git a/assets/favicons/favicon-16x16.png b/assets/favicons/favicon-16x16.png new file mode 100644 index 0000000..b9deaa9 Binary files /dev/null and b/assets/favicons/favicon-16x16.png differ diff --git a/assets/favicons/favicon-32x32.png b/assets/favicons/favicon-32x32.png new file mode 100644 index 0000000..3e9952a Binary files /dev/null and b/assets/favicons/favicon-32x32.png differ diff --git a/assets/favicons/favicon.ico b/assets/favicons/favicon.ico new file mode 100644 index 0000000..2aec0a8 Binary files /dev/null and b/assets/favicons/favicon.ico differ diff --git a/assets/favicons/mstile-144x144.png b/assets/favicons/mstile-144x144.png new file mode 100644 index 0000000..0b8f7e0 Binary files /dev/null and b/assets/favicons/mstile-144x144.png differ diff --git a/assets/favicons/mstile-150x150.png b/assets/favicons/mstile-150x150.png new file mode 100644 index 0000000..1af5031 Binary files /dev/null and b/assets/favicons/mstile-150x150.png differ diff --git a/assets/favicons/mstile-310x150.png b/assets/favicons/mstile-310x150.png new file mode 100644 index 0000000..5f9ff0c Binary files /dev/null and b/assets/favicons/mstile-310x150.png differ diff --git a/assets/favicons/mstile-310x310.png b/assets/favicons/mstile-310x310.png new file mode 100644 index 0000000..9149b81 Binary files /dev/null and b/assets/favicons/mstile-310x310.png differ diff --git a/assets/favicons/mstile-70x70.png b/assets/favicons/mstile-70x70.png new file mode 100644 index 0000000..fda410b Binary files /dev/null and b/assets/favicons/mstile-70x70.png differ diff --git a/assets/favicons/safari-pinned-tab.svg b/assets/favicons/safari-pinned-tab.svg new file mode 100644 index 0000000..5c713e1 --- /dev/null +++ b/assets/favicons/safari-pinned-tab.svg @@ -0,0 +1,53 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/assets/favicons/site.webmanifest b/assets/favicons/site.webmanifest new file mode 100644 index 0000000..c51bcd7 --- /dev/null +++ b/assets/favicons/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/favicons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/favicons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#3ddf89", + "background_color": "#3ddf89", + "display": "standalone" +} diff --git a/assets/images/logo.svg b/assets/images/logo.svg new file mode 100644 index 0000000..a6ab8d9 --- /dev/null +++ b/assets/images/logo.svg @@ -0,0 +1,72 @@ + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/content/pages/docs/intro.md b/content/pages/docs/intro.md deleted file mode 100644 index 37e1f59..0000000 --- a/content/pages/docs/intro.md +++ /dev/null @@ -1,97 +0,0 @@ -%%- -title: qwik cms -header: qwik cms intro -date: 8th August 2021 --%% - -# Introduction -BurnyLlama started working on this project as a part of [qwik](https://qwik.space). -We tried to find a good and simple CMS solution, but we couldn't really find something that -worked for and suited us. We decided to make our own, and that's when the `qwik-cms` repo was created. - -## Basic ideas -We wanted to keep it simple, yet powerful. At first we only wanted to use *include/import statements*, -but later we came to the realization that you could add other QoL things, like automatically generating -a table of contents for articles. - -We also want to make development of content be as fast as possible. Especially with when it comes to -writing articles. Writing articles in markdown can feel kinda nice as it (at least imo) saves a lot -of time compared to writing out HTML. - -## Underlying technologies -Thanks to all the technologies used, the CMS is really hackable and can be used in different ways -depending on your liking. There are three main ways of creating content: -1. Normal HTML -2. Nunjacks (an HTML templating language) -3. Markdown - - -## Views on bloat -*This all sounds kinda bloated?* -I hear you asking... and yes, I am afraid this is a bit bloated (sadly). Although I wouldn't call it -bloated if you actually use the features. The project does pull in a few dependencies, and making the -system more modular could potentially make som of those dependencies optional, but as of now we -depend on: -* Express - the server framework -* nunjucks - the templating language that does very heavy lifting in this CMS. -* nunjucks-markdown - adds support for markdown in nunjucks -* marked - the actual renderer for the markdown (used by `nunjucks-markdown`) -* highlight.js - provides syntax highlighting for codeblocks in markdown. -* jsdom - makes us able to use DOM operations server-side (used to generate the table of contents) -* chokidar - used to reload nunjucks templates if they change on the disk (without having to restart the server) - -So yes, we sure do have a lot of dependencies, but they are all used, so there are no dependencies just "lying around". - -# Installation -The installation process will be quite trivial if you are used to node-based projects. - -## Prerequesites -We will assume that you have `node` and `npm` installed already. Otherwise make sure to install those. - -## Process -The process is really simple: -```bash -git clone https://git.qwik.space/BurnyLlama/qwik-cms -cd qwik-cms -npm i -node index.js -``` -`npm i` installs all needed dependencies. - -# Configuration -The CMS can be configured from `config.json` and the default config looks like this: -```json -{ - "contentDir": "content", - "assetsDir": "assets", - - "serverPort": "8789", - "serverName": "qwik" -} -``` - -## Explanation -All of the options are kind of self-explanatory, but anyways: - -### contentDir -Specifies which directory the content is in. - -Default: `content` - -### assetsDir -Specifies which directory the assets are in. These items will be statically available on (your site's) -`/assets/`. I recommend storing CSS, images, etc. here. - -Default: `assets` - -### serverPort -The port the server should run on. - -Default: `8789` - -### serverName -This can be accessed in any page/template by using `{{ serverName }}` - -Default: `qwik` - -# Usage diff --git a/content/pages/index.njk b/content/pages/index.njk new file mode 100644 index 0000000..37a8c28 --- /dev/null +++ b/content/pages/index.njk @@ -0,0 +1,166 @@ + + + + {% include "templates/defaultTags.njk" %} + + qwik + + + + +
+ +
qwik
+

+ Welcome here! 😊 +

+

+ We are tech enthusiasts (did I spell that right?) and we like cyber security and privacy. + That's why we have this site with a collection of tools/services mostly for our use, but + you are welcome to use them as well! (In that case, consider reading our privacy policy.) +

+

+ Please enjoy your stay. :) +

+
+ + +

services

+
+
+

Gitea

+

+ Gitea is an alternative to Github, Gitlab, etc. + We host our own instance, but feel free to use it as well (if you're brave enough). +

+
+ get codin' + tor +
+
+ +
+

Nitter

+

+ Nitter is a Twitter frontend. Use it to browse Twitter without getting tracked. +

+ +
+ +
+

Bibliogram

+

+ Bibliogram is an Instagram frontend. Use it to browse Instagram without getting tracked. +

+ +
+ +
+

Libreddit

+

+ Libreddit is a Reddit frontend. Use it to browse Reddit without getting tracked. +

+ +
+ + +
+

Searchy

+

+ Searchy was developed by BurnyLlama. It is a customizable frontend for different search engines. +

+ +
+ +
+

Searx

+

+ Searx is a tool that aggragates search results from a lot of search engines. +

+ +
+ +
+

XMPP

+

+ XMPP is an instant messaging protocol. You can find more info in the article below. +

+ +
+
+ + +

contact

+
+

+ If you have any questions, feedback, ideas, or anything else, feel free to contact us. + You can contact BurnyLlama about most things, but if what you have to say is about XMPP, then + please contact furo. :) +

+ +
+
+

BurnyLlama

+ +
+

XMPP

+

burnyllama@qwik.space

+ +

matrix

+

@burnyllama:matrix.org

+
+
+ +
+

furo

+ +
+

XMPP

+

furo@qwik.space

+
+
+
+
+ + +

resources

+ A promotional image of qwik's graphical material. +

+ We provide qwik's resources here. + Right now qwik is in early stages of its development, as such many changes may happen. + We will try our best to keep them up to date and current tho. +

+ + + + \ No newline at end of file diff --git a/content/pages/sitemap.njk b/content/pages/sitemap.njk deleted file mode 100644 index 9bdf417..0000000 --- a/content/pages/sitemap.njk +++ /dev/null @@ -1,16 +0,0 @@ - - - - {% include "templates/defaultTags.njk" %} - - Site Map - - -
- Sitemap - "/" -
-
- {{ siteMap() | safe }} -
- - \ No newline at end of file diff --git a/content/templates/defaultTags.njk b/content/templates/defaultTags.njk index af78dfe..86513ed 100644 --- a/content/templates/defaultTags.njk +++ b/content/templates/defaultTags.njk @@ -1,6 +1,17 @@ + + + + + + + + + + +