init commit
BIN
website/assets/images/avhuffelenmastodonpin.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
website/assets/images/dc1.jpg
Normal file
After Width: | Height: | Size: 5.8 MiB |
BIN
website/assets/images/gallery/01.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
website/assets/images/gallery/02.jpg
Normal file
After Width: | Height: | Size: 697 KiB |
BIN
website/assets/images/gallery/03.jpg
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
website/assets/images/gallery/04.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
website/assets/images/gallery/05.jpg
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
website/assets/images/gallery/06.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
website/assets/images/kabelachterkant.jpg
Normal file
After Width: | Height: | Size: 7.4 MiB |
BIN
website/assets/images/rack.jpg
Normal file
After Width: | Height: | Size: 4.7 MiB |
BIN
website/assets/images/tvtoren1.jpg
Normal file
After Width: | Height: | Size: 2.7 MiB |
BIN
website/assets/images/uitzicht.jpg
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
website/exampleSite/assets/.DS_Store
vendored
Normal file
BIN
website/exampleSite/assets/images/.DS_Store
vendored
Normal file
BIN
website/exampleSite/assets/images/avatar-sm.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
website/exampleSite/assets/images/avatar.png
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
website/exampleSite/assets/images/banner.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
website/exampleSite/assets/images/call-to-action.png
Executable file
After Width: | Height: | Size: 19 KiB |
BIN
website/exampleSite/assets/images/favicon-archive.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
website/exampleSite/assets/images/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
website/exampleSite/assets/images/gallery/01.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
website/exampleSite/assets/images/gallery/02.jpg
Normal file
After Width: | Height: | Size: 697 KiB |
BIN
website/exampleSite/assets/images/gallery/03.jpg
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
website/exampleSite/assets/images/gallery/04.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
website/exampleSite/assets/images/gallery/05.jpg
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
website/exampleSite/assets/images/gallery/06.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
website/exampleSite/assets/images/image-placeholder.png
Executable file
After Width: | Height: | Size: 4.8 KiB |
BIN
website/exampleSite/assets/images/logo-darkmode.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
website/exampleSite/assets/images/logo.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
website/exampleSite/assets/images/no-search-found.png
Executable file
After Width: | Height: | Size: 8.1 KiB |
BIN
website/exampleSite/assets/images/og-image.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
website/exampleSite/assets/images/service-1.png
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
website/exampleSite/assets/images/service-2.png
Executable file
After Width: | Height: | Size: 19 KiB |
BIN
website/exampleSite/assets/images/service-3.png
Executable file
After Width: | Height: | Size: 16 KiB |
1
website/exampleSite/assets/scss/custom.scss
Executable file
|
@ -0,0 +1 @@
|
|||
// Add your own custom styles here
|
6
website/exampleSite/config/_default/languages.toml
Executable file
|
@ -0,0 +1,6 @@
|
|||
################ English language ##################
|
||||
[en]
|
||||
languageName = "En"
|
||||
languageCode = "en-us"
|
||||
contentDir = "content/english"
|
||||
weight = 1
|
85
website/exampleSite/config/_default/menus.en.toml
Executable file
|
@ -0,0 +1,85 @@
|
|||
############# English navigation ##############
|
||||
|
||||
# main menu
|
||||
[[main]]
|
||||
name = "For You"
|
||||
weight = 1
|
||||
hasChildren = true
|
||||
|
||||
[[main]]
|
||||
parent = "For You"
|
||||
name = "Individuals"
|
||||
pageRef = "/Individuals"
|
||||
|
||||
[[main]]
|
||||
parent = "For You"
|
||||
name = "Developers"
|
||||
pageRef = "/Developers"
|
||||
|
||||
[[main]]
|
||||
parent = "For You"
|
||||
name = "European Commission"
|
||||
pageRef = "/EC"
|
||||
|
||||
[[main]]
|
||||
weight = 2
|
||||
name = "Consortium"
|
||||
hasChildren = true
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "Open Internet Discourse"
|
||||
pageRef = "/OID"
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "NLnet"
|
||||
pageRef = "/NLnet"
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "Tweag"
|
||||
pageRef = "/Tweag"
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "NORDUnet"
|
||||
pageRef = "/NORDUnet"
|
||||
|
||||
[[main]]
|
||||
weight = 3
|
||||
name = "Fediversity"
|
||||
pageRef = "Fediversity"
|
||||
|
||||
[[main]]
|
||||
weight = 4
|
||||
name = "Grants"
|
||||
pageRef = "Grants"
|
||||
|
||||
[[main]]
|
||||
weight = 5
|
||||
name = "Events"
|
||||
pageRef = "Events"
|
||||
|
||||
[[main]]
|
||||
weight = 6
|
||||
name = "News"
|
||||
pageRef = "News"
|
||||
|
||||
|
||||
|
||||
# footer menu
|
||||
[[footer]]
|
||||
name = "About"
|
||||
pageRef = "/about"
|
||||
weight = 1
|
||||
|
||||
[[footer]]
|
||||
name = "Elements"
|
||||
pageRef = "/elements"
|
||||
weight = 2
|
||||
|
||||
[[footer]]
|
||||
name = "Privacy Policy"
|
||||
pageRef = "/privacy-policy"
|
||||
weight = 3
|
93
website/exampleSite/config/_default/module.toml
Normal file
|
@ -0,0 +1,93 @@
|
|||
[hugoVersion]
|
||||
extended = true
|
||||
min = "0.115.2"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/zeon-studio/hugoplate"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/search"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/pwa"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/images"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/videos"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/icons/font-awesome"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/icons/themify-icons"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/gzip-caching"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/adsense"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/accordion"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/table-of-contents"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/tab"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/modal"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/gallery-slider"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/preloader"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/social-share"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/cookie-consent"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/custom-script"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/render-link"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/components/valine-comment"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/components/crisp-chat"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/shortcodes/button"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/shortcodes/notice"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/seo-tools/basic-seo"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/seo-tools/site-verifications"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/baidu-analytics"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/matomo-analytics"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/plausible-analytics"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/counter-analytics"
|
101
website/exampleSite/config/_default/params.toml
Executable file
|
@ -0,0 +1,101 @@
|
|||
#################### default parameters ################################
|
||||
# favicon module: https://github.com/gethugothemes/hugo-modules/tree/master/images#favicon-implementation
|
||||
favicon = "images/favicon.png"
|
||||
# logo module: https://github.com/gethugothemes/hugo-modules/tree/master/images#logo-implementation
|
||||
logo = "images/logo.png"
|
||||
logo_darkmode = "images/logo-darkmode.png"
|
||||
# use `px` or `x` with logo_width, example: "100px".
|
||||
# Note: logo_width is not work with .svg file
|
||||
logo_width = "160px"
|
||||
logo_height = "32px"
|
||||
# if logo_webp set false, will not generate WEBP version of logo | default is true
|
||||
logo_webp = true
|
||||
# logo text will only show when logo is missing.
|
||||
logo_text = "Hugoplate"
|
||||
# navbar fixed to top
|
||||
navbar_fixed = true
|
||||
# theme-mode
|
||||
# theme_switcher = false
|
||||
# theme_default = "system" # available options [light/dark/system]
|
||||
# Main Sections
|
||||
mainSections = ["blog"]
|
||||
# contact form action
|
||||
contact_form_action = "#" # contact form works with [https://airform.io/] or [https://formspree.io]
|
||||
# google tag manager, see https://developers.google.com/tag-manager/
|
||||
google_tag_manager = "" # example: G-XXXXXXXXXX
|
||||
google_adsense = "" # example: ca-pub-xxxxxxxxxxxxxxxx
|
||||
# custom script on header, example: custom_script= "<script>console.log(\"Hello World\")</script>"
|
||||
custom_script = ""
|
||||
# copyright
|
||||
# copyright = "Designed & Developed by [Zeon Studio](https://zeon.studio)"
|
||||
|
||||
# Preloader
|
||||
# preloader module: https://github.com/gethugothemes/hugo-modules/tree/master/components/preloader
|
||||
[preloader]
|
||||
enable = false
|
||||
preloader = "" # use jpg, png, svg or gif format.
|
||||
|
||||
# Navigation button
|
||||
[navigation_button]
|
||||
enable = true
|
||||
label = "Contact"
|
||||
link = "contact"
|
||||
|
||||
# search
|
||||
# search module: https://github.com/gethugothemes/hugo-modules/tree/master/search
|
||||
[search]
|
||||
enable = false
|
||||
primary_color = "#121212"
|
||||
include_sections = ["blog"]
|
||||
show_image = false
|
||||
show_description = false
|
||||
show_tags = true
|
||||
show_categories = true
|
||||
|
||||
|
||||
# seo meta data for OpenGraph / Twitter Card
|
||||
# seo module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/basic-seo
|
||||
[metadata]
|
||||
keywords = ["Boilerplate", "Hugo"]
|
||||
description = "Hugo & Tailwindcss Starter"
|
||||
author = "zeon.studio"
|
||||
image = "images/og-image.png"
|
||||
|
||||
|
||||
# site verifications
|
||||
# verification module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/site-verifications
|
||||
[site_verification]
|
||||
google = "" # Your verification code
|
||||
bing = "" # Your verification code
|
||||
baidu = "" # Your verification code
|
||||
facebook = "" # Your verification code
|
||||
mastodon = "" # Your verification code
|
||||
|
||||
# cookies
|
||||
# cookies module: https://github.com/gethugothemes/hugo-modules/tree/master/components/cookie-consent
|
||||
[cookies]
|
||||
enable = false
|
||||
expire_days = 60
|
||||
content = "This site uses cookies. By continuing to use this website, you agree to their use."
|
||||
button = "I Accept"
|
||||
|
||||
######################## sidebar widgets #########################
|
||||
[widgets]
|
||||
sidebar = ["categories", "tags"]
|
||||
|
||||
|
||||
# google map
|
||||
[google_map]
|
||||
enable = false
|
||||
map_api_key = "AIzaSyCcABaamniA6OL5YvYSpB3pFMNrXwXnLwU"
|
||||
map_latitude = "51.5223477"
|
||||
map_longitude = "-0.1622023"
|
||||
map_marker = "images/marker.png"
|
||||
|
||||
|
||||
# Subscription
|
||||
[subscription]
|
||||
enable = false
|
||||
# mailchimp subsciption
|
||||
mailchimp_form_action = "https://gmail.us4.list-manage.com/subscribe/post?u=463ee871f45d2d93748e77cad&id=a0a2c6d074" # replace this url with yours
|
||||
mailchimp_form_name = "b_463ee871f45d2d93748e77cad_a0a2c6d074"
|
53
website/exampleSite/content/english/_index.md
Executable file
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
# Banner
|
||||
banner:
|
||||
title: "The Ultimate Starter Template You Need To Start Your Hugo Project"
|
||||
content: "Hugoplate is a free starter template built with Hugo and TailwindCSS, providing everything you need to jumpstart your Hugo project and save valuable time."
|
||||
image: "/images/banner.png"
|
||||
button:
|
||||
enable: true
|
||||
label: "Get Started For Free"
|
||||
link: "https://github.com/zeon-studio/hugoplate"
|
||||
|
||||
# Features
|
||||
features:
|
||||
- title: "What's Included in Hugoplate"
|
||||
image: "/images/service-1.png"
|
||||
content: "Hugoplate is a comprehensive starter template that includes everything you need to get started with your Hugo project. What's Included in Hugoplate"
|
||||
bulletpoints:
|
||||
- "10+ Pre-build pages"
|
||||
- "95+ Google Pagespeed Score"
|
||||
- "Build with Hugo and TailwindCSS for easy and customizable styling"
|
||||
- "Fully responsive on all devices"
|
||||
- "SEO-optimized for better search engine rankings"
|
||||
- "**Open-source and free** for personal and commercial use"
|
||||
button:
|
||||
enable: false
|
||||
label: "Get Started Now"
|
||||
link: "#"
|
||||
|
||||
- title: "Discover the Key Features Of Hugo"
|
||||
image: "/images/service-2.png"
|
||||
content: "Hugo is an all-in-one web framework for building fast, content-focused websites. It offers a range of exciting features for developers and website creators. Some of the key features are:"
|
||||
bulletpoints:
|
||||
- "Zero JS, by default: No JavaScript runtime overhead to slow you down."
|
||||
- "Customizable: Tailwind, MDX, and 100+ other integrations to choose from."
|
||||
- "UI-agnostic: Supports React, Preact, Svelte, Vue, Solid, Lit and more."
|
||||
button:
|
||||
enable: true
|
||||
label: "Get Started Now"
|
||||
link: "https://github.com/zeon-studio/hugoplate"
|
||||
|
||||
- title: "The Top Reasons to Choose Hugo for Your Hugo Project"
|
||||
image: "/images/service-3.png"
|
||||
content: "With Hugo, you can build modern and content-focused websites without sacrificing performance or ease of use."
|
||||
bulletpoints:
|
||||
- "Instantly load static sites for better user experience and SEO."
|
||||
- "Intuitive syntax and support for popular frameworks make learning and using Hugo a breeze."
|
||||
- "Use any front-end library or framework, or build custom components, for any project size."
|
||||
- "Built on cutting-edge technology to keep your projects up-to-date with the latest web standards."
|
||||
button:
|
||||
enable: false
|
||||
label: ""
|
||||
link: ""
|
||||
---
|
9
website/exampleSite/content/english/about/_index.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
title: "Hey, I am John Doe!"
|
||||
meta_title: "About"
|
||||
description: "this is meta description"
|
||||
image: "/images/avatar.png"
|
||||
draft: false
|
||||
---
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis illum nesciunt commodi vel nisi ut alias excepturi ipsum, totam, labore tempora, odit ex iste tempore sed. Fugit voluptatibus perspiciatis assumenda nulla ad nihil, omnis vel, doloremque sit quam autem optio maiores, illum eius facilis et quo consectetur provident dolor similique! Enim voluptatem dicta expedita veritatis repellat dolorum impedit, provident quasi at.
|
3
website/exampleSite/content/english/authors/_index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
title: "Authors"
|
||||
---
|
12
website/exampleSite/content/english/authors/john-doe.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Laurens Hof
|
||||
email: laurens@procolix.com
|
||||
image: "/images/avatar.png"
|
||||
description: storyteller
|
||||
social:
|
||||
- name: github
|
||||
icon: fa-brands fa-github
|
||||
link: https://github.com
|
||||
---
|
||||
|
||||
Story teller for the Fediversity Project.
|
5
website/exampleSite/content/english/blog/_index.md
Executable file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Blog Posts"
|
||||
meta_title: ""
|
||||
description: "News about Fediversity"
|
||||
---
|
23
website/exampleSite/content/english/blog/post-1.md
Executable file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Application", "Data"]
|
||||
author: "John Doe"
|
||||
tags: ["nextjs", "tailwind"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
23
website/exampleSite/content/english/blog/post-2.md
Executable file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Technology", "Data"]
|
||||
author: "Sam Wilson"
|
||||
tags: ["technology", "tailwind"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
23
website/exampleSite/content/english/blog/post-3.md
Executable file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Software"]
|
||||
author: "John Doe"
|
||||
tags: ["software", "tailwind"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
23
website/exampleSite/content/english/blog/post-4.md
Executable file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Architecture"]
|
||||
author: "John Doe"
|
||||
tags: ["silicon", "technology"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
6
website/exampleSite/content/english/contact/_index.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "Contact"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
draft: false
|
||||
---
|
11
website/exampleSite/content/english/pages/Consortium.md
Executable file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: "Consortium"
|
||||
# meta title
|
||||
meta_title: "Consortium"
|
||||
# meta description
|
||||
description: "The organisations behind the Fediversity Project"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Information about the project. TODO.
|
17
website/exampleSite/content/english/pages/Developers.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Developers"
|
||||
# meta title
|
||||
meta_title: "Developers"
|
||||
# meta description
|
||||
description: "Information for developers about the Fediversity Project."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Fediversity Project enables easy hosting for a wide variety of fediverse platforms, all based on NixOS. At the start, the project will support Mastodon, PixelFed,PeerTube, Matrix and Nexcloud, and the project is actively working to expand this offering. Other services that are offered are email (based on Stalwart) and domain registry.
|
||||
|
||||
As part of the NGI Funding, the Fediversity Project also offers grants to developers to expand the ecosystem. The NLNet website has more information on how you as a developer can apply to grants, ranging from 5.000 to 50.000 euro's.
|
||||
|
||||
If you are a developer of fediverse software, and would like to get your platform also offered for easy hosting as part of the Fediversity Project, please reach out to us. You can contact us HERE.
|
||||
|
||||
As the project is based upon NixOS, we are actively supporting making fediverse projects available as nix packages. If your project is on the fence about this, please reach out. Nix packages make updating and maintaining fediverse projects a breeze!
|
13
website/exampleSite/content/english/pages/EC.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: "European Commission"
|
||||
# meta title
|
||||
meta_title: "European Commission"
|
||||
# meta description
|
||||
description: "Information about the Fediversity Project for the grant providers."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Fediversity project implements the visions outlined by the Next Generation Internet (NGI) initiative for an open internet in several ways. Most importantly, it helps with decentralisation of the internet, a core principle of the NGI, by making it easier for people to participate in the Open Social Web on their own terms. NGI's goal of empowering individuals in the digital sphere is helped by making it easy for them to set up their own servers and platforms. While a variety of Fediverse software exist, there are still barriers of entry for people. In order for people to be truly empowered, joining the fediverse needs to be as weasy as possible. Additionally, the Fediverse emphasises interoperability and openness, which are key concerns addressed by the NGI.
|
||||
|
||||
Part of the values of openness and transparency of is that the Fediversity project is that all the deliverables of the projects are have a 'Public' Dissemination level. On this page an overview of all deliverables of the Fediversity project can be found.
|
17
website/exampleSite/content/english/pages/Fediversity.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Fediversity"
|
||||
# meta title
|
||||
meta_title: "Fediversity"
|
||||
# meta description
|
||||
description: "More information about the Fediversity Project"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Fediversity is a comprehensive effort to bring easy-to-use, hosted cloud services with service portability and personal freedom at their core to everyone. It wants to provide everyone with high-quality, secure IT systems for everyday use. Without tracking, without exploitation, in a way that runs everywhere and scales effortlessly. Fediversity is based on NixOS, a disruptive Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, NixOS is completely declarative, makes upgrading systems reliable, and has many other advantages. Because it is reproducible, it is ideally suited for complex deployment scenario’s where consistent behaviour, stability and configurability matter.
|
||||
|
||||
One such “complex” deployment scenario is running state-of-the-art services for the Fediverse, like PeerTube, Mastodon, Owncast or Lemmy — especially if you want to for instance add services like live chat or transcoding. But even running more traditional services like modern e-mail servers with possible whistles and bells can be daunting. The same holds for deploying a VPN, private cloud storage, wiki, etc. Fediversity will enable all of these use cases, and more — finally bringing these to the market in a way that is as conveient as using a hosted service.
|
||||
|
||||
Fediversity is a pilot funded by the European Commission, building on many projects funding through the Next Generation Internet initiative. The results of the project should greatly simplify the creation and delivery of robust and secure services, on the web and beyond.
|
||||
|
||||
Fediversity will deliver an ambitious development effort, but this is a vast domain with many more challenges than what any preconceived effort could tackle by itself. This is why we invite your contribution to help us reshape the state of play, and together create an open, trustworthy and reliable internet for all.
|
17
website/exampleSite/content/english/pages/Grants.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Grants"
|
||||
# meta title
|
||||
meta_title: "Grants"
|
||||
# meta description
|
||||
description: "How to apply for grants as part of the Fediversity Project."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Fediversity invites other people to join this ambitious development effort. It is a vast domain with many more challenges than what any preconceived effort could tackle by itself. This is why we invite your contribution to help us reshape the state of play, and together create an open, trustworthy and reliable internet for all.
|
||||
|
||||
This is your opportunity to make a real difference. You tell us how your project can help Fediversity go harder, better, faster, stronger. In order to enable you to make such contributions, NLnet will award 450 000 euro in small to medium-size R&D grants towards solutions that bring the next generation of mobile solutions closer. NLnet is seeking project proposals between 5.000 and 50.000 euro’s — which should get you on your way.
|
||||
|
||||
Noteworthy fact: many projects which are to be deployed inside Fediversity were themselves bootstrapped on precisely such a grant from NGI, and now it is your turn.
|
||||
|
||||
For more information on how to apply, check the NLnet website.
|
18
website/exampleSite/content/english/pages/Individuals.md
Executable file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: "Individuals"
|
||||
# meta title
|
||||
meta_title: "Individuals"
|
||||
# meta description
|
||||
description: "Information about the project for regular people."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The fediverse shows great potential in fundamentally rethinking how we approach the internet. It is a new way of thinking about how the internet can be a social web, and solves for the problems that the current Big Tech platforms have, while at the same time enabling a new wave of innovation and new ideas on the social web.
|
||||
|
||||
- Giving people control of their data and social connections, allowing them to choose whatever platform and product they want.
|
||||
- Giving people control of their privacy and their feeds, without black-box algorithms that decide for them what they get to see.
|
||||
|
||||
The Fediversity project is working on making it easier for people to join the fediverse, and taking full control on their own online social presence. We make it easier for you to join the fediverse, giving you an easy way to select what you need. With one click, you can select whether you need photo sharing, microblogging, video sharing, blogging or simply email. You can get a domain name as well, so you can be up and running with a professional social presence on the new internet in without any effort.
|
||||
|
||||
Fediversity is currently in development, and you can follow us on Mastodon for all the latest information.
|
13
website/exampleSite/content/english/pages/NLnet.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: "NLnet"
|
||||
# meta title
|
||||
meta_title: "NLnet"
|
||||
# meta description
|
||||
description: "The NLnet organisation"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The NLnet Foundation supports organisations and people who contribute to an open internet for all. NLnet funds projects that help fix the internet through open hardware, open software, open standards, open science and open data. After its historical contribution to the early internet in Europe in the 1980’s, NLnet has been financially supporting the open internet since 1997.
|
||||
|
||||
NLnet provides grants to free and open source projects between 5.000 and 50.000 euro with the possibility to scale up. Funding is open to anyone: organisations of any type and individuals. Within NGI Fediversity, NLnet facilitates the open calls for third-party funding and contributes to outreach and dissemination.
|
13
website/exampleSite/content/english/pages/NORDUnet.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: "NORDUnet"
|
||||
# meta title
|
||||
meta_title: "NORDUnet"
|
||||
# meta description
|
||||
description: "The NORDUnet organisation."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
NORDUnet is a collaboration of the National Research and Education Networks of the Nordic countries connecting universities and research institutions across Denmark, Finland, Iceland, Norway, and Sweden. It enables collaboration, data sharing, and access to online resources for academic and research purposes.
|
||||
|
||||
Fun fact: the website of NORDUnet, nordu.net is the oldest still active domain on the internet.
|
20
website/exampleSite/content/english/pages/OID.md
Executable file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Consortium"
|
||||
# meta title
|
||||
meta_title: "Consortium"
|
||||
# meta description
|
||||
description: "The organisations behind the Fediversity Project"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Open Internet Discourse Foundation (OID) is founded on the belief that everyone deserves the freedom to express themselves and use the internet without constraints, and is committed to help build a better internet where individuals can truly be who they are.
|
||||
|
||||
The three pillars that are at the core of the OID Foundation:
|
||||
|
||||
OID believes in the fundamental right of individuals to privacy, self-determination, and freedom of expression.
|
||||
Building sustainably. The OID Foundation believes that the internet is crucial infrastructure for society, and as such, should be build from the perspective that software projects can exist and be maintained for a long time; decades, not years.
|
||||
Transparancy. The OID Foundation takes the commitment to openness seriously, and strives to use open software in all aspects.
|
||||
In order to realise our vision, we need a healthy, functional and open internet. This is where OID comes in, working on the infrastructure that powers the internet in a way that promotes it’s values.
|
||||
|
||||
OID Foundation is rooted in constructive optimism, believing in tackling challenges head-on with a positive outlook, viewing each obstacle as an opportunity for improvement. As a practical example of the long-term vision is the work on NixOS that the OID is doing, where the reproducibility and long-term maintainability of NixOS’s package management help with an open and sustainable internet.
|
11
website/exampleSite/content/english/pages/Tweag.md
Executable file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: "Tweag"
|
||||
# meta title
|
||||
meta_title: "Tweag"
|
||||
# meta description
|
||||
description: "The Tweag organisation."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Tweag is the open source program office (OSPO) of Modus Create, a global digital consulting firm that helps enterprises build competitive advantage through digital innovation. Tweagers are leading contributors to several open source projects — from functional programming languages to cross-platform frameworks. Tweag has extensive experience working with Nix, and many people at the forefront of the Nix community are Tweagers.
|
239
website/exampleSite/content/english/pages/elements.md
Executable file
|
@ -0,0 +1,239 @@
|
|||
---
|
||||
title: "Elements"
|
||||
# meta title
|
||||
meta_title: ""
|
||||
# meta description
|
||||
description: "This is meta description"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
{{< toc >}}
|
||||
|
||||
Here is an example of headings. You can use this heading by the following markdown rules. For example: use `#` for heading 1 and use `######` for heading 6.
|
||||
|
||||
# Heading 1
|
||||
|
||||
## Heading 2
|
||||
|
||||
### Heading 3
|
||||
|
||||
#### Heading 4
|
||||
|
||||
##### Heading 5
|
||||
|
||||
###### Heading 6
|
||||
|
||||
<hr>
|
||||
|
||||
### Emphasis
|
||||
|
||||
The emphasis, aka italics, with _asterisks_ or _underscores_.
|
||||
|
||||
Strong emphasis, aka bold, with **asterisks** or **underscores**.
|
||||
|
||||
The combined emphasis with **asterisks and _underscores_**.
|
||||
|
||||
Strike through uses two tildes. ~~Scratch this.~~
|
||||
|
||||
<hr>
|
||||
|
||||
### Button
|
||||
|
||||
{{< button label="Button" link="/" style="solid" >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Link
|
||||
|
||||
[I'm an inline-style link](https://www.google.com)
|
||||
|
||||
[I'm an inline-style link with title](https://www.google.com "Google's Homepage")
|
||||
|
||||
[I'm a reference-style link][Arbitrary case-insensitive reference text]
|
||||
|
||||
[I'm a relative reference to a repository file](../blob/master/LICENSE)
|
||||
|
||||
[You can use numbers for reference-style link definitions][1]
|
||||
|
||||
Or leave it empty and use the [link text itself].
|
||||
|
||||
URLs and URLs in angle brackets will automatically get turned into links.
|
||||
<http://www.example.com> or <http://www.example.com> and sometimes
|
||||
example.com (but not on Github, for example).
|
||||
|
||||
Some text to show that the reference links can follow later.
|
||||
|
||||
[arbitrary case-insensitive reference text]: https://www.themefisher.com
|
||||
[1]: https://gethugothemes.com
|
||||
[link text itself]: https://www.getjekyllthemes.com
|
||||
|
||||
<hr>
|
||||
|
||||
### Paragraph
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quam nihil enim maxime corporis cumque totam aliquid nam sint inventore optio modi neque laborum officiis necessitatibus, facilis placeat pariatur! Voluptatem, sed harum pariatur adipisci voluptates voluptatum cumque, porro sint minima similique magni perferendis fuga! Optio vel ipsum excepturi tempore reiciendis id quidem? Vel in, doloribus debitis nesciunt fugit sequi magnam accusantium modi neque quis, vitae velit, pariatur harum autem a! Velit impedit atque maiores animi possimus asperiores natus repellendus excepturi sint architecto eligendi non, omnis nihil. Facilis, doloremque illum. Fugit optio laborum minus debitis natus illo perspiciatis corporis voluptatum rerum laboriosam.
|
||||
|
||||
<hr>
|
||||
|
||||
### Ordered List
|
||||
|
||||
1. List item
|
||||
2. List item
|
||||
3. List item
|
||||
4. List item
|
||||
5. List item
|
||||
|
||||
<hr>
|
||||
|
||||
### Unordered List
|
||||
|
||||
- List item
|
||||
- List item
|
||||
- List item
|
||||
- List item
|
||||
- List item
|
||||
|
||||
<hr>
|
||||
|
||||
### Notice
|
||||
|
||||
{{< notice "note" >}}
|
||||
This is a simple note.
|
||||
{{< /notice >}}
|
||||
|
||||
{{< notice "tip" >}}
|
||||
This is a simple tip.
|
||||
{{< /notice >}}
|
||||
|
||||
{{< notice "info" >}}
|
||||
This is a simple info.
|
||||
{{< /notice >}}
|
||||
|
||||
{{< notice "warning" >}}
|
||||
This is a simple warning.
|
||||
{{< /notice >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Tab
|
||||
|
||||
{{< tabs >}}
|
||||
{{< tab "Tab 1" >}}
|
||||
|
||||
#### Hey There, I am a tab
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
{{< /tab >}}
|
||||
|
||||
{{< tab "Tab 2" >}}
|
||||
|
||||
#### I wanna talk about the assassination attempt
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
{{< /tab >}}
|
||||
|
||||
{{< tab "Tab 3" >}}
|
||||
|
||||
#### We know you’re dealing in stolen ore
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
|
||||
|
||||
{{< /tab >}}
|
||||
{{< /tabs >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Accordions
|
||||
|
||||
{{< accordion "Why should you need to do this?" >}}
|
||||
|
||||
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
||||
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
||||
- Lorem ipsum dolor sit amet consectetur
|
||||
|
||||
{{< /accordion >}}
|
||||
|
||||
{{< accordion "How can I adjust Horizontal centering" >}}
|
||||
|
||||
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
||||
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
||||
- Lorem ipsum dolor sit amet consectetur
|
||||
|
||||
{{< /accordion >}}
|
||||
|
||||
{{< accordion "Should you use Negative margin?" >}}
|
||||
|
||||
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
||||
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
||||
- Lorem ipsum dolor sit amet consectetur
|
||||
|
||||
{{< /accordion >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Code and Syntax Highlighting
|
||||
|
||||
This is an `Inline code` sample.
|
||||
|
||||
```javascript
|
||||
var s = "JavaScript syntax highlighting";
|
||||
alert(s);
|
||||
```
|
||||
|
||||
```python
|
||||
s = "Python syntax highlighting"
|
||||
print s
|
||||
```
|
||||
|
||||
<hr>
|
||||
|
||||
### Blockquote
|
||||
|
||||
> Did you come here for something in particular or just general Riker-bashing? And blowing into maximum warp speed, you appeared for an instant to be in two places at once.
|
||||
|
||||
<hr>
|
||||
|
||||
### Tables
|
||||
|
||||
| Tables | Are | Cool |
|
||||
| ------------- | :-----------: | ----: |
|
||||
| col 3 is | right-aligned | $1600 |
|
||||
| col 2 is | centered | $12 |
|
||||
| zebra stripes | are neat | $1 |
|
||||
|
||||
<hr>
|
||||
|
||||
### Image
|
||||
|
||||
{{< image src="images/image-placeholder.png" caption="" alt="alter-text" height="" width="" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Gallery
|
||||
|
||||
{{< gallery dir="images/gallery" class="" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Slider
|
||||
|
||||
{{< slider dir="images/gallery" class="max-w-[600px] ml-0" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Youtube video
|
||||
|
||||
{{< youtube ResipmZmpDU >}}
|
||||
|
||||
<hr>
|
||||
|
||||
### Custom video
|
||||
|
||||
{{< video src="https://www.w3schools.com/html/mov_bbb.mp4" width="100%" height="auto" autoplay="false" loop="false" muted="false" controls="true" class="rounded-lg" >}}
|
33
website/exampleSite/content/english/pages/privacy-policy.md
Normal file
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
title: "Privacy"
|
||||
# meta title
|
||||
meta_title: ""
|
||||
# meta description
|
||||
description: "This is meta description"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
#### Responsibility of Contributors
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat quisque aliquam sagittis. Sem turpis sed viverra massa gravida pharetra. Non dui dolor potenti eu dignissim fusce. Ultrices amet, in curabitur a arcu a lectus morbi id. Iaculis erat sagittis in tortor cursus. Molestie urna eu tortor, erat scelerisque eget. Nunc hendrerit sed interdum lacus. Lorem quis viverra sed
|
||||
|
||||
pretium, aliquam sit. Praesent elementum magna amet, tincidunt eros, nibh in leo. Malesuada purus, lacus, at aliquam suspendisse tempus. Quis tempus amet, velit nascetur sollicitudin. At sollicitudin eget amet in. Eu velit nascetur sollicitudin erhdfvssfvrgss eget viverra nec elementum. Lacus, facilisis tristique lectus in.
|
||||
|
||||
#### Gathering of Personal Information
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat quisque aliquam sagittis. Sem turpis sed viverra massa gravida pharetra. Non dui dolor potenti eu dignissim fusce. Ultrices amet, in curabitur a arcu a lectus morbi id. Iaculis erat sagittis in tortor cursus. Molestie urna eu tortor, erat scelerisque eget. Nunc hendrerit sed interdum lacus. Lorem quis viverra sed
|
||||
|
||||
#### Protection of Personal- Information
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat quisque aliquam sagittis. Sem turpis sed viverra massa gravida pharetra. Non dui dolor potenti eu dignissim fusce. Ultrices amet, in curabitur a arcu a lectus morbi id. Iaculis erat sagittis in tortor cursus.
|
||||
|
||||
Molestie urna eu tortor, erat scelerisque eget. Nunc hendrerit sed interdum lacus. Lorem quis viverra sed
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat
|
||||
|
||||
#### Privacy Policy Changes
|
||||
|
||||
1. Sll the Themefisher items are designed to be with the latest , We check all
|
||||
2. comments that threaten or harm the reputation of any person or organization
|
||||
3. personal information including, but limited to, email addresses, telephone numbers
|
||||
4. Any Update come in The technology Customer will get automatic Notification.
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
enable: true
|
||||
title: "Ready to build your next project with Hugo?"
|
||||
image: "/images/call-to-action.png"
|
||||
description: "Experience the future of web development with Hugoplate and Hugo. Build lightning-fast static sites with ease and flexibility."
|
||||
button:
|
||||
enable: true
|
||||
label: "Get Started Now"
|
||||
link: "https://github.com/zeon-studio/hugoplate"
|
||||
|
||||
# don't create a separate page
|
||||
_build:
|
||||
render: "never"
|
||||
---
|
31
website/exampleSite/content/english/sections/testimonial.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
enable: true
|
||||
title: "What Users Are Saying About Hugoplate"
|
||||
description: "Don't just take our word for it - hear from some of our satisfied users! Check out some of our testimonials below to see what others are saying about Hugoplate."
|
||||
|
||||
# Testimonials
|
||||
testimonials:
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
# don't create a separate page
|
||||
_build:
|
||||
render: "never"
|
||||
---
|
24
website/exampleSite/data/social.json
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"main": [
|
||||
{
|
||||
"name": "facebook",
|
||||
"icon": "fab fa-facebook",
|
||||
"link": "https://www.facebook.com/"
|
||||
},
|
||||
{
|
||||
"name": "twitter",
|
||||
"icon": "fab fa-twitter",
|
||||
"link": "https://twitter.com/"
|
||||
},
|
||||
{
|
||||
"name": "github",
|
||||
"icon": "fab fa-github",
|
||||
"link": "https://www.github.com/"
|
||||
},
|
||||
{
|
||||
"name": "linkedin",
|
||||
"icon": "fab fa-linkedin",
|
||||
"link": "https://www.linkedin.com/"
|
||||
}
|
||||
]
|
||||
}
|
27
website/exampleSite/data/theme.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"colors": {
|
||||
"default": {
|
||||
"theme_color": {
|
||||
"primary": "#121212",
|
||||
"body": "#fff",
|
||||
"border": "#eaeaea",
|
||||
"theme_light": "#f6f6f6",
|
||||
"theme_dark": ""
|
||||
},
|
||||
"text_color": {
|
||||
"default": "#444444",
|
||||
"dark": "#040404",
|
||||
"light": "#717171"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fonts": {
|
||||
"font_family": {
|
||||
"primary": "Heebo:wght@400;600",
|
||||
"primary_type": "sans-serif",
|
||||
"secondary": "Signika:wght@500;700",
|
||||
"secondary_type": "sans-serif"
|
||||
},
|
||||
"font_size": { "base": "16", "scale": "1.2" }
|
||||
}
|
||||
}
|
29
website/exampleSite/go.mod
Normal file
|
@ -0,0 +1,29 @@
|
|||
module hugoplate.netlify.app
|
||||
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/images v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/modal v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/search v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/tab v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/videos v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/zeon-studio/hugoplate v0.0.0-20240215094431-cf2ee3b68eaf // indirect
|
||||
)
|
172
website/exampleSite/hugo.toml
Executable file
|
@ -0,0 +1,172 @@
|
|||
######################## default configuration ####################
|
||||
# The base URL of your site (required). This will be prepended to all relative URLs.
|
||||
baseURL = "/"
|
||||
# Title of your website (required).
|
||||
title = "Hugoplate"
|
||||
# Your theme name
|
||||
# theme = "hugoplate"
|
||||
# Default time zone for time stamps; use any valid tz database name: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
|
||||
timeZone = "America/New_York"
|
||||
# post pagination
|
||||
paginate = 2 # see https://gohugo.io/extras/pagination/
|
||||
# post excerpt
|
||||
summaryLength = 10 # see https://gohugo.io/content-management/excerpts/
|
||||
# disable language
|
||||
disableLanguages = [
|
||||
] # example: ["fr"] for disable french language. see https://gohugo.io/content-management/multilingual/
|
||||
hasCJKLanguage = false # If hasCJKLanguage true, auto-detect Chinese/Japanese/Korean Languages in the content. see: https://gohugo.io/getting-started/configuration/#hascjklanguage
|
||||
# default language
|
||||
defaultContentLanguage = 'en'
|
||||
defaultContentLanguageInSubdir = false
|
||||
|
||||
########################### Services #############################
|
||||
[services]
|
||||
[services.googleAnalytics]
|
||||
ID = 'G-MEASUREMENT_ID' # see https://gohugo.io/templates/internal/#configure-google-analytics
|
||||
|
||||
[services.disqus]
|
||||
shortname = 'themefisher-template' # we use disqus to show comments in blog posts . To install disqus please follow this tutorial https://portfolio.peter-baumgartner.net/2017/09/10/how-to-install-disqus-on-hugo/
|
||||
|
||||
########################## Permalinks ############################
|
||||
[permalinks.page]
|
||||
"pages" = "/:slugorfilename/"
|
||||
|
||||
|
||||
############################# Modules ############################
|
||||
[module]
|
||||
[[module.mounts]]
|
||||
source = "assets"
|
||||
target = "assets"
|
||||
|
||||
[[module.mounts]]
|
||||
source = "hugo_stats.json"
|
||||
target = "assets/watching/hugo_stats.json"
|
||||
|
||||
############################# Build ##############################
|
||||
[build]
|
||||
noJSConfigInAssets = false
|
||||
useResourceCacheWhen = 'fallback'
|
||||
[build.buildStats]
|
||||
enable = true
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/watching/hugo_stats\.json'
|
||||
target = 'style\.css'
|
||||
[[build.cachebusters]]
|
||||
source = '(postcss|tailwind)\.config\.js'
|
||||
target = 'css'
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/.*\.(js|ts|jsx|tsx)'
|
||||
target = 'js'
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/.*\.(css|scss|sass)'
|
||||
target = 'css'
|
||||
[[build.cachebusters]]
|
||||
source = 'data/.*\.(.*)$'
|
||||
target = 'css'
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/.*\.(.*)$'
|
||||
target = '$1'
|
||||
|
||||
|
||||
############################# Outputs ############################
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "WebAppManifest", "SearchIndex"]
|
||||
|
||||
############################# Imaging ############################
|
||||
[imaging]
|
||||
# See https://github.com/disintegration/imaging
|
||||
# Default JPEG or WebP quality setting. Default is 75.
|
||||
quality = 80
|
||||
resampleFilter = "Lanczos"
|
||||
|
||||
############################ Caches ##############################
|
||||
[caches]
|
||||
[caches.images]
|
||||
dir = ":resourceDir/_gen"
|
||||
maxAge = "720h"
|
||||
|
||||
[caches.assets]
|
||||
dir = ":resourceDir/_gen"
|
||||
maxAge = "720h"
|
||||
|
||||
|
||||
############################ Markup ##############################
|
||||
[markup]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[markup.highlight]
|
||||
style = 'monokai' # see https://xyproto.github.io/splash/docs/all.html
|
||||
|
||||
[markup.tableOfContents]
|
||||
startLevel = 2
|
||||
endLevel = 5
|
||||
ordered = true
|
||||
|
||||
|
||||
########################### Media types ###########################
|
||||
[mediaTypes]
|
||||
[mediaTypes."application/manifest+json"]
|
||||
suffixes = ["webmanifest"]
|
||||
|
||||
|
||||
########################### Output Format ##########################
|
||||
[outputFormats]
|
||||
[outputFormats.WebAppManifest]
|
||||
mediaType = "application/manifest+json"
|
||||
rel = "manifest"
|
||||
|
||||
[outputFormats.SearchIndex]
|
||||
mediaType = "application/json"
|
||||
baseName = "searchindex"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
|
||||
|
||||
############################# Plugins ##############################
|
||||
|
||||
# CSS Plugins
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/swiper/swiper-bundle.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/glightbox/glightbox.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/font-awesome/v6/brands.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/font-awesome/v6/solid.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/font-awesome/v6/icons.css"
|
||||
lazy = true
|
||||
|
||||
# JS Plugins
|
||||
[[params.plugins.js]]
|
||||
link = "js/search.js"
|
||||
lazy = false
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/swiper/swiper-bundle.js"
|
||||
lazy = false
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/cookie.js"
|
||||
lazy = false
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/glightbox/glightbox.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/gallery-slider.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/accordion.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/tab.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/modal.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/youtube-lite.js"
|
||||
lazy = true
|
32
website/exampleSite/i18n/en.yaml
Executable file
|
@ -0,0 +1,32 @@
|
|||
- id: home
|
||||
translation: Home
|
||||
|
||||
- id: read_more
|
||||
translation: Read More
|
||||
|
||||
- id: send
|
||||
translation: Send
|
||||
|
||||
- id: related_posts
|
||||
translation: Related Posts
|
||||
|
||||
- id: categories
|
||||
translation: Categories
|
||||
|
||||
- id: tags
|
||||
translation: Tags
|
||||
|
||||
- id: toc
|
||||
translation: Table of Contents
|
||||
|
||||
- id: share
|
||||
translation: Share
|
||||
|
||||
- id: search_input_placeholder
|
||||
translation: Search Post ...
|
||||
|
||||
- id: no_results_for
|
||||
translation: No results for
|
||||
|
||||
- id: empty_search_results_placeholder
|
||||
translation: Type something to search..
|
45
website/exampleSite/postcss.config.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
const purgecss = {
|
||||
content: ["./hugo_stats.json"],
|
||||
defaultExtractor: (content) => {
|
||||
const elements = JSON.parse(content).htmlElements;
|
||||
return [
|
||||
...(elements.tags || []),
|
||||
...(elements.classes || []),
|
||||
...(elements.ids || []),
|
||||
];
|
||||
},
|
||||
safelist: [
|
||||
/^swiper-/,
|
||||
/^lb-/,
|
||||
/^gl/,
|
||||
/^go/,
|
||||
/^gc/,
|
||||
/^gs/,
|
||||
/^gi/,
|
||||
/^gz/,
|
||||
/^gprev/,
|
||||
/^gnext/,
|
||||
/^desc/,
|
||||
/^zoom/,
|
||||
/^search/,
|
||||
/^:is/,
|
||||
/dark/,
|
||||
/show/,
|
||||
/dragging/,
|
||||
/fullscreen/,
|
||||
/loaded/,
|
||||
/visible/,
|
||||
/current/,
|
||||
/active/,
|
||||
/mark/,
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
"@fullhuman/postcss-purgecss":
|
||||
process.env.HUGO_ENVIRONMENT === "production" ? purgecss : false,
|
||||
autoprefixer: process.env.HUGO_ENVIRONMENT === "production" ? {} : false,
|
||||
},
|
||||
};
|
92
website/exampleSite/tailwind.config.js
Executable file
|
@ -0,0 +1,92 @@
|
|||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const themePath = path.join(__dirname, "data/theme.json");
|
||||
const themeRead = fs.readFileSync(themePath, "utf8");
|
||||
const theme = JSON.parse(themeRead);
|
||||
|
||||
let font_base = Number(theme.fonts.font_size.base.replace("px", ""));
|
||||
let font_scale = Number(theme.fonts.font_size.scale);
|
||||
let h6 = font_scale;
|
||||
let h5 = h6 * font_scale;
|
||||
let h4 = h5 * font_scale;
|
||||
let h3 = h4 * font_scale;
|
||||
let h2 = h3 * font_scale;
|
||||
let h1 = h2 * font_scale;
|
||||
let fontPrimary, fontPrimaryType, fontSecondary, fontSecondaryType;
|
||||
if (theme.fonts.font_family.primary) {
|
||||
fontPrimary = theme.fonts.font_family.primary
|
||||
.replace(/\+/g, " ")
|
||||
.replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, "");
|
||||
fontPrimaryType = theme.fonts.font_family.primary_type;
|
||||
}
|
||||
if (theme.fonts.font_family.secondary) {
|
||||
fontSecondary = theme.fonts.font_family.secondary
|
||||
.replace(/\+/g, " ")
|
||||
.replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, "");
|
||||
fontSecondaryType = theme.fonts.font_family.secondary_type;
|
||||
}
|
||||
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ["./hugo_stats.json"],
|
||||
safelist: [{ pattern: /^swiper-/ }],
|
||||
|
||||
theme: {
|
||||
screens: {
|
||||
sm: "540px",
|
||||
md: "768px",
|
||||
lg: "1024px",
|
||||
xl: "1280px",
|
||||
"2xl": "1536px",
|
||||
},
|
||||
container: {
|
||||
center: true,
|
||||
padding: "2rem",
|
||||
},
|
||||
extend: {
|
||||
colors: {
|
||||
text: theme.colors.default.text_color.default,
|
||||
light: theme.colors.default.text_color.light,
|
||||
dark: theme.colors.default.text_color.dark,
|
||||
primary: theme.colors.default.theme_color.primary,
|
||||
secondary: theme.colors.default.theme_color.secondary,
|
||||
body: theme.colors.default.theme_color.body,
|
||||
border: theme.colors.default.theme_color.border,
|
||||
"theme-light": theme.colors.default.theme_color.theme_light,
|
||||
"theme-dark": theme.colors.default.theme_color.theme_dark,
|
||||
},
|
||||
fontSize: {
|
||||
base: font_base + "px",
|
||||
"base-sm": font_base * 0.8 + "px",
|
||||
h1: h1 + "rem",
|
||||
"h1-sm": h1 * 0.9 + "rem",
|
||||
h2: h2 + "rem",
|
||||
"h2-sm": h2 * 0.9 + "rem",
|
||||
h3: h3 + "rem",
|
||||
"h3-sm": h3 * 0.9 + "rem",
|
||||
h4: h4 + "rem",
|
||||
h5: h5 + "rem",
|
||||
h6: h6 + "rem",
|
||||
},
|
||||
fontFamily: {
|
||||
primary: [fontPrimary, fontPrimaryType],
|
||||
secondary: [fontSecondary, fontSecondaryType],
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
require("@tailwindcss/typography"),
|
||||
require("@tailwindcss/forms"),
|
||||
require("tailwind-bootstrap-grid")({
|
||||
generateContainer: false,
|
||||
gridGutterWidth: "2rem",
|
||||
gridGutters: {
|
||||
1: "0.25rem",
|
||||
2: "0.5rem",
|
||||
3: "1rem",
|
||||
4: "1.5rem",
|
||||
5: "3rem",
|
||||
},
|
||||
}),
|
||||
],
|
||||
};
|
1
website/node_modules/.bin/autoprefixer
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../autoprefixer/bin/autoprefixer
|
1
website/node_modules/.bin/browserslist
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../browserslist/cli.js
|
1
website/node_modules/.bin/cssesc
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../cssesc/bin/cssesc
|
1
website/node_modules/.bin/jiti
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../jiti/bin/jiti.js
|
1
website/node_modules/.bin/mini-svg-data-uri
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../mini-svg-data-uri/cli.js
|
1
website/node_modules/.bin/nanoid
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../nanoid/bin/nanoid.cjs
|
1
website/node_modules/.bin/node-which
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../which/bin/node-which
|
1
website/node_modules/.bin/postcss
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../postcss-cli/index.js
|
1
website/node_modules/.bin/prettier
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../prettier/bin/prettier.cjs
|
1
website/node_modules/.bin/purgecss
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../purgecss/bin/purgecss.js
|
1
website/node_modules/.bin/resolve
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../resolve/bin/resolve
|
1
website/node_modules/.bin/sucrase
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../sucrase/bin/sucrase
|
1
website/node_modules/.bin/sucrase-node
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../sucrase/bin/sucrase-node
|
1
website/node_modules/.bin/tailwind
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../tailwindcss/lib/cli.js
|
1
website/node_modules/.bin/tailwindcss
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../tailwindcss/lib/cli.js
|
1
website/node_modules/.bin/ulid
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../ulid/bin/cli.js
|
1
website/node_modules/.bin/update-browserslist-db
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../update-browserslist-db/cli.js
|
1
website/node_modules/.bin/yaml
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../yaml/bin.mjs
|
2177
website/node_modules/.package-lock.json
generated
vendored
Normal file
128
website/node_modules/@alloc/quick-lru/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,128 @@
|
|||
declare namespace QuickLRU {
|
||||
interface Options<KeyType, ValueType> {
|
||||
/**
|
||||
The maximum number of milliseconds an item should remain in the cache.
|
||||
|
||||
@default Infinity
|
||||
|
||||
By default, `maxAge` will be `Infinity`, which means that items will never expire.
|
||||
Lazy expiration upon the next write or read call.
|
||||
|
||||
Individual expiration of an item can be specified by the `set(key, value, maxAge)` method.
|
||||
*/
|
||||
readonly maxAge?: number;
|
||||
|
||||
/**
|
||||
The maximum number of items before evicting the least recently used items.
|
||||
*/
|
||||
readonly maxSize: number;
|
||||
|
||||
/**
|
||||
Called right before an item is evicted from the cache.
|
||||
|
||||
Useful for side effects or for items like object URLs that need explicit cleanup (`revokeObjectURL`).
|
||||
*/
|
||||
onEviction?: (key: KeyType, value: ValueType) => void;
|
||||
}
|
||||
}
|
||||
|
||||
declare class QuickLRU<KeyType, ValueType>
|
||||
implements Iterable<[KeyType, ValueType]> {
|
||||
/**
|
||||
The stored item count.
|
||||
*/
|
||||
readonly size: number;
|
||||
|
||||
/**
|
||||
Simple ["Least Recently Used" (LRU) cache](https://en.m.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29).
|
||||
|
||||
The instance is [`iterable`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols) so you can use it directly in a [`for…of`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) loop.
|
||||
|
||||
@example
|
||||
```
|
||||
import QuickLRU = require('quick-lru');
|
||||
|
||||
const lru = new QuickLRU({maxSize: 1000});
|
||||
|
||||
lru.set('🦄', '🌈');
|
||||
|
||||
lru.has('🦄');
|
||||
//=> true
|
||||
|
||||
lru.get('🦄');
|
||||
//=> '🌈'
|
||||
```
|
||||
*/
|
||||
constructor(options: QuickLRU.Options<KeyType, ValueType>);
|
||||
|
||||
[Symbol.iterator](): IterableIterator<[KeyType, ValueType]>;
|
||||
|
||||
/**
|
||||
Set an item. Returns the instance.
|
||||
|
||||
Individual expiration of an item can be specified with the `maxAge` option. If not specified, the global `maxAge` value will be used in case it is specified in the constructor, otherwise the item will never expire.
|
||||
|
||||
@returns The list instance.
|
||||
*/
|
||||
set(key: KeyType, value: ValueType, options?: {maxAge?: number}): this;
|
||||
|
||||
/**
|
||||
Get an item.
|
||||
|
||||
@returns The stored item or `undefined`.
|
||||
*/
|
||||
get(key: KeyType): ValueType | undefined;
|
||||
|
||||
/**
|
||||
Check if an item exists.
|
||||
*/
|
||||
has(key: KeyType): boolean;
|
||||
|
||||
/**
|
||||
Get an item without marking it as recently used.
|
||||
|
||||
@returns The stored item or `undefined`.
|
||||
*/
|
||||
peek(key: KeyType): ValueType | undefined;
|
||||
|
||||
/**
|
||||
Delete an item.
|
||||
|
||||
@returns `true` if the item is removed or `false` if the item doesn't exist.
|
||||
*/
|
||||
delete(key: KeyType): boolean;
|
||||
|
||||
/**
|
||||
Delete all items.
|
||||
*/
|
||||
clear(): void;
|
||||
|
||||
/**
|
||||
Update the `maxSize` in-place, discarding items as necessary. Insertion order is mostly preserved, though this is not a strong guarantee.
|
||||
|
||||
Useful for on-the-fly tuning of cache sizes in live systems.
|
||||
*/
|
||||
resize(maxSize: number): void;
|
||||
|
||||
/**
|
||||
Iterable for all the keys.
|
||||
*/
|
||||
keys(): IterableIterator<KeyType>;
|
||||
|
||||
/**
|
||||
Iterable for all the values.
|
||||
*/
|
||||
values(): IterableIterator<ValueType>;
|
||||
|
||||
/**
|
||||
Iterable for all entries, starting with the oldest (ascending in recency).
|
||||
*/
|
||||
entriesAscending(): IterableIterator<[KeyType, ValueType]>;
|
||||
|
||||
/**
|
||||
Iterable for all entries, starting with the newest (descending in recency).
|
||||
*/
|
||||
entriesDescending(): IterableIterator<[KeyType, ValueType]>;
|
||||
}
|
||||
|
||||
export = QuickLRU;
|
263
website/node_modules/@alloc/quick-lru/index.js
generated
vendored
Normal file
|
@ -0,0 +1,263 @@
|
|||
'use strict';
|
||||
|
||||
class QuickLRU {
|
||||
constructor(options = {}) {
|
||||
if (!(options.maxSize && options.maxSize > 0)) {
|
||||
throw new TypeError('`maxSize` must be a number greater than 0');
|
||||
}
|
||||
|
||||
if (typeof options.maxAge === 'number' && options.maxAge === 0) {
|
||||
throw new TypeError('`maxAge` must be a number greater than 0');
|
||||
}
|
||||
|
||||
this.maxSize = options.maxSize;
|
||||
this.maxAge = options.maxAge || Infinity;
|
||||
this.onEviction = options.onEviction;
|
||||
this.cache = new Map();
|
||||
this.oldCache = new Map();
|
||||
this._size = 0;
|
||||
}
|
||||
|
||||
_emitEvictions(cache) {
|
||||
if (typeof this.onEviction !== 'function') {
|
||||
return;
|
||||
}
|
||||
|
||||
for (const [key, item] of cache) {
|
||||
this.onEviction(key, item.value);
|
||||
}
|
||||
}
|
||||
|
||||
_deleteIfExpired(key, item) {
|
||||
if (typeof item.expiry === 'number' && item.expiry <= Date.now()) {
|
||||
if (typeof this.onEviction === 'function') {
|
||||
this.onEviction(key, item.value);
|
||||
}
|
||||
|
||||
return this.delete(key);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
_getOrDeleteIfExpired(key, item) {
|
||||
const deleted = this._deleteIfExpired(key, item);
|
||||
if (deleted === false) {
|
||||
return item.value;
|
||||
}
|
||||
}
|
||||
|
||||
_getItemValue(key, item) {
|
||||
return item.expiry ? this._getOrDeleteIfExpired(key, item) : item.value;
|
||||
}
|
||||
|
||||
_peek(key, cache) {
|
||||
const item = cache.get(key);
|
||||
|
||||
return this._getItemValue(key, item);
|
||||
}
|
||||
|
||||
_set(key, value) {
|
||||
this.cache.set(key, value);
|
||||
this._size++;
|
||||
|
||||
if (this._size >= this.maxSize) {
|
||||
this._size = 0;
|
||||
this._emitEvictions(this.oldCache);
|
||||
this.oldCache = this.cache;
|
||||
this.cache = new Map();
|
||||
}
|
||||
}
|
||||
|
||||
_moveToRecent(key, item) {
|
||||
this.oldCache.delete(key);
|
||||
this._set(key, item);
|
||||
}
|
||||
|
||||
* _entriesAscending() {
|
||||
for (const item of this.oldCache) {
|
||||
const [key, value] = item;
|
||||
if (!this.cache.has(key)) {
|
||||
const deleted = this._deleteIfExpired(key, value);
|
||||
if (deleted === false) {
|
||||
yield item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const item of this.cache) {
|
||||
const [key, value] = item;
|
||||
const deleted = this._deleteIfExpired(key, value);
|
||||
if (deleted === false) {
|
||||
yield item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
get(key) {
|
||||
if (this.cache.has(key)) {
|
||||
const item = this.cache.get(key);
|
||||
|
||||
return this._getItemValue(key, item);
|
||||
}
|
||||
|
||||
if (this.oldCache.has(key)) {
|
||||
const item = this.oldCache.get(key);
|
||||
if (this._deleteIfExpired(key, item) === false) {
|
||||
this._moveToRecent(key, item);
|
||||
return item.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set(key, value, {maxAge = this.maxAge === Infinity ? undefined : Date.now() + this.maxAge} = {}) {
|
||||
if (this.cache.has(key)) {
|
||||
this.cache.set(key, {
|
||||
value,
|
||||
maxAge
|
||||
});
|
||||
} else {
|
||||
this._set(key, {value, expiry: maxAge});
|
||||
}
|
||||
}
|
||||
|
||||
has(key) {
|
||||
if (this.cache.has(key)) {
|
||||
return !this._deleteIfExpired(key, this.cache.get(key));
|
||||
}
|
||||
|
||||
if (this.oldCache.has(key)) {
|
||||
return !this._deleteIfExpired(key, this.oldCache.get(key));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
peek(key) {
|
||||
if (this.cache.has(key)) {
|
||||
return this._peek(key, this.cache);
|
||||
}
|
||||
|
||||
if (this.oldCache.has(key)) {
|
||||
return this._peek(key, this.oldCache);
|
||||
}
|
||||
}
|
||||
|
||||
delete(key) {
|
||||
const deleted = this.cache.delete(key);
|
||||
if (deleted) {
|
||||
this._size--;
|
||||
}
|
||||
|
||||
return this.oldCache.delete(key) || deleted;
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.cache.clear();
|
||||
this.oldCache.clear();
|
||||
this._size = 0;
|
||||
}
|
||||
|
||||
resize(newSize) {
|
||||
if (!(newSize && newSize > 0)) {
|
||||
throw new TypeError('`maxSize` must be a number greater than 0');
|
||||
}
|
||||
|
||||
const items = [...this._entriesAscending()];
|
||||
const removeCount = items.length - newSize;
|
||||
if (removeCount < 0) {
|
||||
this.cache = new Map(items);
|
||||
this.oldCache = new Map();
|
||||
this._size = items.length;
|
||||
} else {
|
||||
if (removeCount > 0) {
|
||||
this._emitEvictions(items.slice(0, removeCount));
|
||||
}
|
||||
|
||||
this.oldCache = new Map(items.slice(removeCount));
|
||||
this.cache = new Map();
|
||||
this._size = 0;
|
||||
}
|
||||
|
||||
this.maxSize = newSize;
|
||||
}
|
||||
|
||||
* keys() {
|
||||
for (const [key] of this) {
|
||||
yield key;
|
||||
}
|
||||
}
|
||||
|
||||
* values() {
|
||||
for (const [, value] of this) {
|
||||
yield value;
|
||||
}
|
||||
}
|
||||
|
||||
* [Symbol.iterator]() {
|
||||
for (const item of this.cache) {
|
||||
const [key, value] = item;
|
||||
const deleted = this._deleteIfExpired(key, value);
|
||||
if (deleted === false) {
|
||||
yield [key, value.value];
|
||||
}
|
||||
}
|
||||
|
||||
for (const item of this.oldCache) {
|
||||
const [key, value] = item;
|
||||
if (!this.cache.has(key)) {
|
||||
const deleted = this._deleteIfExpired(key, value);
|
||||
if (deleted === false) {
|
||||
yield [key, value.value];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
* entriesDescending() {
|
||||
let items = [...this.cache];
|
||||
for (let i = items.length - 1; i >= 0; --i) {
|
||||
const item = items[i];
|
||||
const [key, value] = item;
|
||||
const deleted = this._deleteIfExpired(key, value);
|
||||
if (deleted === false) {
|
||||
yield [key, value.value];
|
||||
}
|
||||
}
|
||||
|
||||
items = [...this.oldCache];
|
||||
for (let i = items.length - 1; i >= 0; --i) {
|
||||
const item = items[i];
|
||||
const [key, value] = item;
|
||||
if (!this.cache.has(key)) {
|
||||
const deleted = this._deleteIfExpired(key, value);
|
||||
if (deleted === false) {
|
||||
yield [key, value.value];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
* entriesAscending() {
|
||||
for (const [key, value] of this._entriesAscending()) {
|
||||
yield [key, value.value];
|
||||
}
|
||||
}
|
||||
|
||||
get size() {
|
||||
if (!this._size) {
|
||||
return this.oldCache.size;
|
||||
}
|
||||
|
||||
let oldCacheSize = 0;
|
||||
for (const key of this.oldCache.keys()) {
|
||||
if (!this.cache.has(key)) {
|
||||
oldCacheSize++;
|
||||
}
|
||||
}
|
||||
|
||||
return Math.min(this._size + oldCacheSize, this.maxSize);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = QuickLRU;
|
9
website/node_modules/@alloc/quick-lru/license
generated
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
43
website/node_modules/@alloc/quick-lru/package.json
generated
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"name": "@alloc/quick-lru",
|
||||
"version": "5.2.0",
|
||||
"description": "Simple “Least Recently Used” (LRU) cache",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/quick-lru",
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && nyc ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"lru",
|
||||
"quick",
|
||||
"cache",
|
||||
"caching",
|
||||
"least",
|
||||
"recently",
|
||||
"used",
|
||||
"fast",
|
||||
"map",
|
||||
"hash",
|
||||
"buffer"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "^2.0.0",
|
||||
"coveralls": "^3.0.3",
|
||||
"nyc": "^15.0.0",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.26.0"
|
||||
}
|
||||
}
|
139
website/node_modules/@alloc/quick-lru/readme.md
generated
vendored
Normal file
|
@ -0,0 +1,139 @@
|
|||
# quick-lru [![Build Status](https://travis-ci.org/sindresorhus/quick-lru.svg?branch=master)](https://travis-ci.org/sindresorhus/quick-lru) [![Coverage Status](https://coveralls.io/repos/github/sindresorhus/quick-lru/badge.svg?branch=master)](https://coveralls.io/github/sindresorhus/quick-lru?branch=master)
|
||||
|
||||
> Simple [“Least Recently Used” (LRU) cache](https://en.m.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29)
|
||||
|
||||
Useful when you need to cache something and limit memory usage.
|
||||
|
||||
Inspired by the [`hashlru` algorithm](https://github.com/dominictarr/hashlru#algorithm), but instead uses [`Map`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map) to support keys of any type, not just strings, and values can be `undefined`.
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install quick-lru
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const QuickLRU = require('quick-lru');
|
||||
|
||||
const lru = new QuickLRU({maxSize: 1000});
|
||||
|
||||
lru.set('🦄', '🌈');
|
||||
|
||||
lru.has('🦄');
|
||||
//=> true
|
||||
|
||||
lru.get('🦄');
|
||||
//=> '🌈'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### new QuickLRU(options?)
|
||||
|
||||
Returns a new instance.
|
||||
|
||||
### options
|
||||
|
||||
Type: `object`
|
||||
|
||||
#### maxSize
|
||||
|
||||
*Required*\
|
||||
Type: `number`
|
||||
|
||||
The maximum number of items before evicting the least recently used items.
|
||||
|
||||
#### maxAge
|
||||
|
||||
Type: `number`\
|
||||
Default: `Infinity`
|
||||
|
||||
The maximum number of milliseconds an item should remain in cache.
|
||||
By default maxAge will be Infinity, which means that items will never expire.
|
||||
|
||||
Lazy expiration happens upon the next `write` or `read` call.
|
||||
|
||||
Individual expiration of an item can be specified by the `set(key, value, options)` method.
|
||||
|
||||
#### onEviction
|
||||
|
||||
*Optional*\
|
||||
Type: `(key, value) => void`
|
||||
|
||||
Called right before an item is evicted from the cache.
|
||||
|
||||
Useful for side effects or for items like object URLs that need explicit cleanup (`revokeObjectURL`).
|
||||
|
||||
### Instance
|
||||
|
||||
The instance is [`iterable`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols) so you can use it directly in a [`for…of`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) loop.
|
||||
|
||||
Both `key` and `value` can be of any type.
|
||||
|
||||
#### .set(key, value, options?)
|
||||
|
||||
Set an item. Returns the instance.
|
||||
|
||||
Individual expiration of an item can be specified with the `maxAge` option. If not specified, the global `maxAge` value will be used in case it is specified on the constructor, otherwise the item will never expire.
|
||||
|
||||
#### .get(key)
|
||||
|
||||
Get an item.
|
||||
|
||||
#### .has(key)
|
||||
|
||||
Check if an item exists.
|
||||
|
||||
#### .peek(key)
|
||||
|
||||
Get an item without marking it as recently used.
|
||||
|
||||
#### .delete(key)
|
||||
|
||||
Delete an item.
|
||||
|
||||
Returns `true` if the item is removed or `false` if the item doesn't exist.
|
||||
|
||||
#### .clear()
|
||||
|
||||
Delete all items.
|
||||
|
||||
#### .resize(maxSize)
|
||||
|
||||
Update the `maxSize`, discarding items as necessary. Insertion order is mostly preserved, though this is not a strong guarantee.
|
||||
|
||||
Useful for on-the-fly tuning of cache sizes in live systems.
|
||||
|
||||
#### .keys()
|
||||
|
||||
Iterable for all the keys.
|
||||
|
||||
#### .values()
|
||||
|
||||
Iterable for all the values.
|
||||
|
||||
#### .entriesAscending()
|
||||
|
||||
Iterable for all entries, starting with the oldest (ascending in recency).
|
||||
|
||||
#### .entriesDescending()
|
||||
|
||||
Iterable for all entries, starting with the newest (descending in recency).
|
||||
|
||||
#### .size
|
||||
|
||||
The stored item count.
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<b>
|
||||
<a href="https://tidelift.com/subscription/pkg/npm-quick-lru?utm_source=npm-quick-lru&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
|
||||
</b>
|
||||
<br>
|
||||
<sub>
|
||||
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
|
||||
</sub>
|
||||
</div>
|
139
website/node_modules/@fullhuman/postcss-purgecss/README.md
generated
vendored
Normal file
|
@ -0,0 +1,139 @@
|
|||
# PostCSS Purgecss
|
||||
![David (path)](https://img.shields.io/david/FullHuman/purgecss?path=packages%2Fpostcss-purgecss&style=for-the-badge)
|
||||
![Dependabot](https://img.shields.io/badge/dependabot-enabled-%23024ea4?style=for-the-badge)
|
||||
![npm](https://img.shields.io/npm/v/@fullhuman/postcss-purgecss?style=for-the-badge)
|
||||
![npm](https://img.shields.io/npm/dw/@fullhuman/postcss-purgecss?style=for-the-badge)
|
||||
![GitHub](https://img.shields.io/github/license/FullHuman/purgecss?style=for-the-badge)
|
||||
|
||||
[PostCSS] plugin for PurgeCSS.
|
||||
|
||||
[PostCSS]: https://github.com/postcss/postcss
|
||||
|
||||
## Installation
|
||||
|
||||
```
|
||||
npm i -D @fullhuman/postcss-purgecss postcss
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const purgecss = require('@fullhuman/postcss-purgecss')
|
||||
postcss([
|
||||
purgecss({
|
||||
content: ['./src/**/*.html']
|
||||
})
|
||||
])
|
||||
```
|
||||
|
||||
See [PostCSS] docs for examples for your environment.
|
||||
|
||||
## Options
|
||||
|
||||
All of the options of purgecss are available to use with the plugins.
|
||||
You will find below the main options available. For the complete list, go to the [purgecss documentation website](https://www.purgecss.com/configuration.html#options).
|
||||
|
||||
### `content` (**required** or use `contentFunction` instead)
|
||||
Type: `Array<string>`
|
||||
|
||||
You can specify content that should be analyzed by Purgecss with an array of filenames or globs. The files can be HTML, Pug, Blade, etc.
|
||||
|
||||
### `contentFunction` (as alternative to `content`)
|
||||
Type: `(sourceInputFile: string) => Array<string>`
|
||||
|
||||
The function receives the current source input file. With this you may provide a specific array of globs for each input. E.g. for
|
||||
an angular application only scan the components template counterpart for every component scss file:
|
||||
|
||||
```js
|
||||
purgecss({
|
||||
contentFunction: (sourceInputFileName: string) => {
|
||||
if (/component\.scss$/.test(sourceInputFileName))
|
||||
return [sourceInputFileName.replace(/scss$/, 'html')]
|
||||
else
|
||||
return ['./src/**/*.html']
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
### `extractors`
|
||||
Type: `Array<Object>`
|
||||
|
||||
Purgecss can be adapted to suit your needs. If you notice a lot of unused CSS is not being removed, you might want to use a custom extractor.
|
||||
More information about extractors [here](https://www.purgecss.com/extractors.html).
|
||||
|
||||
### `safelist`
|
||||
|
||||
You can indicate which selectors are safe to leave in the final CSS. This can be accomplished with the option `safelist`.
|
||||
|
||||
Two forms are available for this option.
|
||||
|
||||
```ts
|
||||
safelist: ['random', 'yep', 'button', /^nav-/]
|
||||
```
|
||||
|
||||
In this form, safelist is an array that can take a string or a regex.
|
||||
|
||||
The _complex_ form is:
|
||||
|
||||
```ts
|
||||
safelist: {
|
||||
standard: ['random', 'yep', 'button', /^nav-/],
|
||||
deep: [],
|
||||
greedy: [],
|
||||
keyframes: [],
|
||||
variables: []
|
||||
}
|
||||
```
|
||||
|
||||
### `blocklist`
|
||||
|
||||
Blocklist will block the CSS selectors from appearing in the final output CSS. The selectors will be removed even when they are seen as used by PurgeCSS.
|
||||
|
||||
```ts
|
||||
blocklist: ['usedClass', /^nav-/]
|
||||
```
|
||||
Even if nav-links and usedClass are found by an extractor, they will be removed.
|
||||
|
||||
### `skippedContentGlobs`
|
||||
|
||||
If you provide globs for the `content` parameter, you can use this option to exclude certain files or folders that would otherwise be scanned. Pass an array of globs matching items that should be excluded. (Note: this option has no effect if `content` is not globs.)
|
||||
|
||||
```ts
|
||||
skippedContentGlobs: ['node_modules/**', 'components/**']
|
||||
```
|
||||
Here, PurgeCSS will not scan anything in the "node_modules" and "components" folders.
|
||||
|
||||
|
||||
### `rejected`
|
||||
Type: `boolean`
|
||||
Default value: `false`
|
||||
|
||||
If true, purged selectors will be captured and rendered as PostCSS messages.
|
||||
Use with a PostCSS reporter plugin like [`postcss-reporter`](https://github.com/postcss/postcss-reporter)
|
||||
to print the purged selectors to the console as they are processed.
|
||||
|
||||
### `keyframes`
|
||||
Type: `boolean`
|
||||
Default value: `false`
|
||||
|
||||
If you are using a CSS animation library such as animate.css, you can remove unused keyframes by setting the keyframes option to true.
|
||||
|
||||
#### `fontFace`
|
||||
Type: `boolean`
|
||||
Default value: `false`
|
||||
|
||||
If there are any unused @font-face rules in your css, you can remove them by setting the fontFace option to true.
|
||||
|
||||
## Contributing
|
||||
|
||||
Please read [CONTRIBUTING.md](./../../CONTRIBUTING.md) for details on our code of
|
||||
conduct, and the process for submitting pull requests to us.
|
||||
|
||||
## Versioning
|
||||
|
||||
postcss-purgecss use [SemVer](http://semver.org/) for versioning.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](./../../LICENSE) file
|
||||
for details.
|
164
website/node_modules/@fullhuman/postcss-purgecss/lib/postcss-purgecss.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,164 @@
|
|||
/**
|
||||
* PostCSS Plugin for PurgeCSS
|
||||
*
|
||||
* Most bundlers and frameworks to build websites are using PostCSS.
|
||||
* The easiest way to configure PurgeCSS is with its PostCSS plugin.
|
||||
*
|
||||
* @packageDocumentation
|
||||
*/
|
||||
|
||||
import * as postcss from 'postcss';
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare type ComplexSafelist = {
|
||||
standard?: StringRegExpArray;
|
||||
/**
|
||||
* You can safelist selectors and their children based on a regular
|
||||
* expression with `safelist.deep`
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* const purgecss = await new PurgeCSS().purge({
|
||||
* content: [],
|
||||
* css: [],
|
||||
* safelist: {
|
||||
* deep: [/red$/]
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*
|
||||
* In this example, selectors such as `.bg-red .child-of-bg` will be left
|
||||
* in the final CSS, even if `child-of-bg` is not found.
|
||||
*
|
||||
*/
|
||||
deep?: RegExp[];
|
||||
greedy?: RegExp[];
|
||||
variables?: StringRegExpArray;
|
||||
keyframes?: StringRegExpArray;
|
||||
};
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare type ExtractorFunction<T = string> = (content: T) => ExtractorResult;
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare type ExtractorResult = ExtractorResultDetailed | string[];
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare interface ExtractorResultDetailed {
|
||||
attributes: {
|
||||
names: string[];
|
||||
values: string[];
|
||||
};
|
||||
classes: string[];
|
||||
ids: string[];
|
||||
tags: string[];
|
||||
undetermined: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare interface Extractors {
|
||||
extensions: string[];
|
||||
extractor: ExtractorFunction;
|
||||
}
|
||||
|
||||
/**
|
||||
* PostCSS Plugin for PurgeCSS
|
||||
*
|
||||
* @param opts - PurgeCSS Options
|
||||
* @returns the postCSS plugin
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
declare const purgeCSSPlugin: postcss.PluginCreator<UserDefinedOptions>;
|
||||
export default purgeCSSPlugin;
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare interface RawContent<T = string> {
|
||||
extension: string;
|
||||
raw: T;
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare interface RawCSS {
|
||||
raw: string;
|
||||
name?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare type StringRegExpArray = Array<RegExp | string>;
|
||||
|
||||
/**
|
||||
* {@inheritDoc purgecss#UserDefinedOptions}
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare interface UserDefinedOptions extends Omit<UserDefinedOptions_2, "content" | "css"> {
|
||||
content?: UserDefinedOptions_2["content"];
|
||||
contentFunction?: (sourceFile: string) => Array<string | RawContent>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Options used by PurgeCSS to remove unused CSS
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
declare interface UserDefinedOptions_2 {
|
||||
/** {@inheritDoc Options.content} */
|
||||
content: Array<string | RawContent>;
|
||||
/** {@inheritDoc Options.css} */
|
||||
css: Array<string | RawCSS>;
|
||||
/** {@inheritDoc Options.defaultExtractor} */
|
||||
defaultExtractor?: ExtractorFunction;
|
||||
/** {@inheritDoc Options.extractors} */
|
||||
extractors?: Array<Extractors>;
|
||||
/** {@inheritDoc Options.fontFace} */
|
||||
fontFace?: boolean;
|
||||
/** {@inheritDoc Options.keyframes} */
|
||||
keyframes?: boolean;
|
||||
/** {@inheritDoc Options.output} */
|
||||
output?: string;
|
||||
/** {@inheritDoc Options.rejected} */
|
||||
rejected?: boolean;
|
||||
/** {@inheritDoc Options.rejectedCss} */
|
||||
rejectedCss?: boolean;
|
||||
/** {@inheritDoc Options.sourceMap } */
|
||||
sourceMap?: boolean | (postcss.SourceMapOptions & { to?: string });
|
||||
/** {@inheritDoc Options.stdin} */
|
||||
stdin?: boolean;
|
||||
/** {@inheritDoc Options.stdout} */
|
||||
stdout?: boolean;
|
||||
/** {@inheritDoc Options.variables} */
|
||||
variables?: boolean;
|
||||
/** {@inheritDoc Options.safelist} */
|
||||
safelist?: UserDefinedSafelist;
|
||||
/** {@inheritDoc Options.blocklist} */
|
||||
blocklist?: StringRegExpArray;
|
||||
/** {@inheritDoc Options.skippedContentGlobs} */
|
||||
skippedContentGlobs?: Array<string>;
|
||||
/** {@inheritDoc Options.dynamicAttributes} */
|
||||
dynamicAttributes?: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
declare type UserDefinedSafelist = StringRegExpArray | ComplexSafelist;
|
||||
|
||||
export { }
|
1
website/node_modules/@fullhuman/postcss-purgecss/lib/postcss-purgecss.esm.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import*as e from"path";import{PurgeCSS as s,defaultOptions as t,standardizeSafelist as o,mergeExtractorSelectors as r}from"purgecss";const n=function(n){if(void 0===n)throw new Error("PurgeCSS plugin does not have the correct options");return{postcssPlugin:"postcss-purgecss",OnceExit:(c,i)=>async function(n,c,{result:i}){const a=new s;let l;try{const s=e.resolve(process.cwd(),"purgecss.config.js");l=await import(s)}catch{}const p={...t,...l,...n,safelist:o((null==n?void 0:n.safelist)||(null==l?void 0:l.safelist))};n&&"function"==typeof n.contentFunction&&(p.content=n.contentFunction(c.source&&c.source.input.file||"")),a.options=p,p.variables&&(a.variablesStructure.safelist=p.safelist.variables||[]);const{content:u,extractors:f}=p,m=u.filter((e=>"string"==typeof e)),g=u.filter((e=>"object"==typeof e)),v=await a.extractSelectorsFromFiles(m,f),d=await a.extractSelectorsFromString(g,f),S=r(v,d);a.walkThroughCSS(c,S),a.options.fontFace&&a.removeUnusedFontFaces(),a.options.keyframes&&a.removeUnusedKeyframes(),a.options.variables&&a.removeUnusedCSSVariables(),a.options.rejected&&a.selectorsRemoved.size>0&&(i.messages.push({type:"purgecss",plugin:"postcss-purgecss",text:`purging ${a.selectorsRemoved.size} selectors:\n ${Array.from(a.selectorsRemoved).map((e=>e.trim())).join("\n ")}`}),a.selectorsRemoved.clear())}(n,c,i)}};n.postcss=!0;export{n as default};
|
1
website/node_modules/@fullhuman/postcss-purgecss/lib/postcss-purgecss.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
"use strict";var e=require("path"),t=require("purgecss");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=r(e);const o=function(e){if(void 0===e)throw new Error("PurgeCSS plugin does not have the correct options");return{postcssPlugin:"postcss-purgecss",OnceExit:(o,n)=>async function(e,o,{result:n}){const c=new t.PurgeCSS;let i;try{const e=s.resolve(process.cwd(),"purgecss.config.js");i=await function(e){return Promise.resolve().then((function(){return r(require(e))}))}(e)}catch{}const a={...t.defaultOptions,...i,...e,safelist:t.standardizeSafelist((null==e?void 0:e.safelist)||(null==i?void 0:i.safelist))};e&&"function"==typeof e.contentFunction&&(a.content=e.contentFunction(o.source&&o.source.input.file||"")),c.options=a,a.variables&&(c.variablesStructure.safelist=a.safelist.variables||[]);const{content:u,extractors:l}=a,f=u.filter((e=>"string"==typeof e)),p=u.filter((e=>"object"==typeof e)),d=await c.extractSelectorsFromFiles(f,l),g=await c.extractSelectorsFromString(p,l),v=t.mergeExtractorSelectors(d,g);c.walkThroughCSS(o,v),c.options.fontFace&&c.removeUnusedFontFaces(),c.options.keyframes&&c.removeUnusedKeyframes(),c.options.variables&&c.removeUnusedCSSVariables(),c.options.rejected&&c.selectorsRemoved.size>0&&(n.messages.push({type:"purgecss",plugin:"postcss-purgecss",text:`purging ${c.selectorsRemoved.size} selectors:\n ${Array.from(c.selectorsRemoved).map((e=>e.trim())).join("\n ")}`}),c.selectorsRemoved.clear())}(e,o,n)}};o.postcss=!0,module.exports=o;
|
42
website/node_modules/@fullhuman/postcss-purgecss/package.json
generated
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"name": "@fullhuman/postcss-purgecss",
|
||||
"version": "5.0.0",
|
||||
"description": "PostCSS plugin for PurgeCSS",
|
||||
"author": "FoundrySH <no-reply@foundry.sh>",
|
||||
"homepage": "https://purgecss.com",
|
||||
"license": "MIT",
|
||||
"main": "lib/postcss-purgecss.js",
|
||||
"module": "lib/postcss-purgecss.esm.js",
|
||||
"types": "lib/postcss-purgecss.d.ts",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__"
|
||||
},
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/FullHuman/purgecss.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "ts-node build.ts",
|
||||
"test": "jest"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/FullHuman/purgecss/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"purgecss": "^5.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"postcss": "^8.4.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"postcss": "^8.0.0"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
}
|
||||
}
|
12
website/node_modules/@hapi/hoek/LICENSE.md
generated
vendored
Executable file
|
@ -0,0 +1,12 @@
|
|||
Copyright (c) 2011-2020, Sideway Inc, and project contributors
|
||||
Copyright (c) 2011-2014, Walmart
|
||||
Copyright (c) 2011, Yahoo Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* The names of any contributors may not be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS OFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|