Initial commit

This commit is contained in:
Ategon 2024-02-14 03:22:24 -05:00
commit de84487d26
25 changed files with 535 additions and 0 deletions

13
.gitignore vendored Normal file
View File

@ -0,0 +1,13 @@
# Generated files by hugo
/public/
/resources/_gen/
/assets/jsconfig.json
hugo_stats.json
# Executable may be added to repository
hugo.exe
hugo.darwin
hugo.linux
# Temporary lock file while building
/.hugo_build.lock

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/hugo-book"]
path = themes/hugo-book
url = https://github.com/alex-shpak/hugo-book

5
archetypes/default.md Normal file
View File

@ -0,0 +1,5 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

103
assets/_custom.scss Normal file
View File

@ -0,0 +1,103 @@
.book-menu-content nav ul:nth-child(3) {
color: gray;
label a img {
color: gray;
filter: invert(0.4)
}
}
.book-search {
input {
transition: all;
transition-duration: 300ms;
width: 100%;
&:focus {
width: 102%;
color: gold;
}
}
}
.book-menu-content nav ul:nth-child(6) {
padding-top: 20px;
color: gray;
}
*:focus {
outline-style: none;
outline-color: transparent;
}
.book-menu {
strong {
color: gray;
}
a {
transition: all;
transition-duration: 300ms;
&:hover {
opacity: .8;
transform: scale(1.05);
@media (prefers-reduced-motion) {
transform: none;
}
}
&.active {
color: transparent;
background-clip: text;
background-color: rgb(44,175,208);
background-image: linear-gradient(90deg, rgba(44,175,208,1) 0%, rgba(148,45,253,1) 100%);
}
}
}
.book-brand {
span {
color: transparent;
background-clip: text;
background-color: rgb(44,175,208);
background-image: linear-gradient(90deg, rgba(44,175,208,1) -50%, rgba(148,45,253,1) 150%);
}
}
.book-page {
article p:nth-child(2){
color: gray;
}
a {
color: rgb(70, 100, 200);
}
h1 {
color: rgb(44, 175, 208);
}
h2 {
color: rgb(88, 85, 233);
}
h3 {
color: rgb(148, 45, 253);
}
}
.book-toc-content {
ul {
li a {
transition: all;
transition-duration: 300ms;
color: rgb(150, 150, 150);
}
ul li a {
transition: all;
transition-duration: 300ms;
color: rgb(100, 100, 100);
}
}
}

17
assets/_variables.scss Normal file
View File

@ -0,0 +1,17 @@
@mixin theme-dark {
--gray-100: rgba(255, 255, 255, 0.1);
--gray-200: rgba(255, 255, 255, 0.2);
--gray-500: rgba(255, 255, 255, 0.5);
--color-link: #84b2ff;
--color-visited-link: #b88dff;
--body-background: #121212;
--body-font-color: #d9dcdf;
--icon-filter: brightness(0) invert(1);
--hint-color-info: #6bf;
--hint-color-warning: #fd6;
--hint-color-danger: #f66;
}

View File

@ -0,0 +1,3 @@
---
BookMenuBundle: '/menu/test'
---

View File

@ -0,0 +1,59 @@
# Automation Guidelines
These are guidelines to follow when using any form of automation on an account hosted on Programming.Dev ("programming.dev", "we", "us", "our") sites or in communities hosted on the site from federated instances. When using automation within communities on other instances make sure to follow their specific guidelines in addition to these if they exist.
Failure to follow these guidelines may result in the account using the automation being banned from the instance.
> Guidelines marked with (C) can be overriden by community mods while ones marked with (A) can be overriden by a instance admin if they give permission to you.
## 1. General Guidelines
This are guidelines that aren't specific to one form of automation and should be followed regardless of the type of automation you are doing.
### 1.1. Use Mentions as a Prefix
If the automation includes the usage of commands such as help, contact, remindme, generate, etc. it should use the mention of the account as the prefix as opposed to something such as ! or ?. This allows multiple automations to use the same commands without interfering with each other and ensures people are using the one they intended to use.
### 1.2. No Trigger Overlap (C)
Do not make triggers fill the same niche as an already established one in the community you are posting in. For example if theres already a tldr bot posting tldrs for news posts there doesn't need to be a second one in the comments. (Can be overriden by the community mods)
### 1.3. No Vote Manupulation
Automation should not be used to affect the voting system in the instance. The vote it will automatically do on the accounts own posts are fine but it should not be used to automatically vote on other people's posts or comments.
## 2. Bots
These guidelines are specific to bot usage. This means accounts that exist solely to be automated to do things (tldr bot, remindme bot, reply bots, etc.) or that do specific things without any form of human intervention in the chain
> Examples of things in this category:
> - Automatically posting things from an rss feed
> - Automatically generating tldrs of articles posted to a community
> - Automatically posting a link to an alternate frontend for a site when theres a link to the site
### 2.1. Mark Bots as Bots
Bot accounts should be marked that they are a bot using the checkbox in the user settings
### 2.2. Put Contact Info
The owner of the bot and some way to contact them must be in the bots bio
### 2.3. Don't Spam (A)
Bots should not spam posts or comments. Automatically making posts or comments is fine but it should not drown out non automation content. When looking at the last 20 posts in a community, at least 75% should be human created (your specific bot should take less than the 25% for bots since other bots exist to share that with). There are some cases where having a community with mostly or only bot content makes sense (e.g. daily programming quotes, a challenge community that auto posts daily challenges from another site) and in that case you should reach out to an instance admin to get it approved (and you should be one of the mods for that community). When admin approved it still should not drown out human posts in the local feed in the instance.
### 2.4. Allow Mods to Opt In (A)
Before using a bot in a community allow the mod to opt in to the bots.
If a bot is deemed to be a well behaving bot that brings net good to the instance it can override this rule as long as it has been approved by an admin. If this happens mods should still be able to opt out of use of your bot.
## 3. Tools
These guidelines are for tool usage for semi-automated actions or things that don't affect other users.
> [!note]
> Examples of things in this category:
> - Scheduling posts
> - Monthly/Weekly repeated thread posts in a community
> - Auto marking posts with certain keywords as read for you (this one is more automated but only affects your own account)
### 3.1. Mark That You Use Automation
As some software doesn't have this built in currently you can just put the information in your bio. This could be something such as "Some actions in this account are automated", "Cyborg account", or "Uses some automation tools". You could also put what specific things you use if you want but it is not required. If the software supports marking an account as a cyborg you can use that instead.
## Do we Make Updates to these Automation Guidelines?
We may update the Automation Guidelines from time to time. When we do the date at the bottom of the page will change to indicate the date of the most recent changes. In addition, clicking on that date will bring you to the commit in the code repository that shows who edited it, and what was changed. If we make changes we may notify you by posting a notice of such changes in our meta community on the programming.dev site, in the updates account on the bytes.programming.dev site, in the news community in our discord server, and in the news community in our matrix server. We encourage you to review the Automation Guidelines periodically for any modifications.
## Contact Us
If you have questions or concerns about these Automation Guidelines you should contact us at info@programming.dev.

View File

@ -0,0 +1,52 @@
# Code of Conduct
This code of conduct details the expected conduct of users using Programming.Dev ("programming.dev", "we", "us", "our") sites whether in communities local to our sites or on communities federated with it that is visible from our site. It also applies to other spaces we exist such as our discord server and matrix server. Users visible on our sites regardless of whether they are local or federated may be actioned upon if they do not follow this code of conduct.
## Expected Behaviour
The following are expected behaviour for people interacting on our sites.
- **Remember the human:** When interacting with other people on the site they should be interacted with as if they are a human, that is with respect and in a way that you would want to be treated.
- **Keep in mind software differences:** As this is the fediverse, not everyone is interacting from the same software or the same type of software (people in microblogs may join in to the threaded posts, etc.). Due to this not everyone has access to the same features we do so features should not be assumed to be standard (e.g. visible pronouns, markdown, votes).
## Encouraged Behaviour
The following are encouraged behaviours for people interacting on our sites (that is not following it won't get you actioned upon but it is strongly recommended to follow).
- **Add Alt Text:** When posting an image add alt text to it in some form (if the software has it built in you can use that feature and if not you can provide it beside the image)
## Unacceptable Behaviour
The following are not allowed in any of our sites and may result in you being actioned upon by moderators or admins.
- **Doxing:** Do not reveal private information about other people without their explicit permission.
- **Ad Hominem:** When arguing with someone do not attack the person themselves, instead target the argument they are making.
- **Impersonation:** Do not impersonate other people regardless of whether they are in the community or not.
- **Unmarked Sensitive Content:** Do not post sensitive content (such as NSFW) without labelling it as such. If the software does not allow you to label it for people who don't want that content to be able to not see it, do not post the content.
- **Hate Speech:** Do not make remarks directed at sex, gender, ethnicity, orientation, disabilities, etc.
- **Vote Manipulation:** Attempts to manipulate the voting system is not tolerated including the usage of sock puppet accounts, target voting someone for who they are rather than their content, and mass downvoting posts.
- **Encouraging Harm:** Do not tell others to do things such as harm themselves or die.
- **Unwelcome Sexual Advances:** Do not sexually harass other people, regardless of whether they are in the community or the post is about them.
- **Illegal Content:** Do not post things that are illegal in the United States including: CSAM, Copyright Infringement, Lolicon.
- **Unrelated Content:** Do not post content that does not relate to a community in the community. For example if there is a community about posting cute pictures of puppies, do not post NSFW content.
- **Ban Evasion:** If you were banned from a community, do not attempt to evade said ban on another account.
- **Harassment:** Harassment whether in public spaces in the communities or in private messages is not tolerated.
## Community Specific Guidelines
Some communities within one of our sites may have additional or more specific guidelines in the community description that are expected to be followed when interacting in that community. Failure to follow those guidelines may result in you being actioned upon by moderators.
## Automation Guidelines
If you use any form of automation on your accounts you must abide by our [Automation Guidelines](https://legal.programming.dev/docs/automation-guidelines).
## Community Guidelines
If you manage a community on our sites you must abide by our [Community Guidelines](https://legal.programming.dev/docs/community-guidelines).
## Moderator Guidelines
If you are a moderator for our sites or for a community on our sites you must abide by our [Moderator Guidelines](https://legal.programming.dev/docs/moderator-guidelines).
## Admin Guidelines
If you are an admin for our sites you must abide by our [Admin Guidelines](https://legal.programming.dev/docs/admin-guidelines).
## Reporting
When you see someone not behaving according to our code of conduct, if theres a report button built into the software (which should be most software we host) you can report them for the community team in charge of that software to be able to deal with it. If theres no report button email info@programming.dev with the report information.
## Do we Make Updates to this Code of Conduct?
We may update the Code of Conduct from time to time. When we do the date at the bottom of the page will change to indicate the date of the most recent changes. In addition, clicking on that date will bring you to the commit in the code repository that shows who edited it, and what was changed. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review the Code of Conduct periodically for any modifications.
## Contact Us
If you have questions or concerns about this Code of Conduct you should contact us at info@programming.dev.

View File

@ -0,0 +1,12 @@
# Community Guidelines
These Community Guidelines detail expected conduct and suggested actions when managing a community on Programming.Dev ("programming.dev", "we", "us", "our") sites.
## 1. Community Info
## 2.
## Do we Make Updates to these Community Guidelines?
We may update the Community Guidelines from time to time. When we do the date at the bottom of the page will change to indicate the date of the most recent changes. In addition, clicking on that date will bring you to the commit in the code repository that shows who edited it, and what was changed. If we make changes we may notify you by posting a notice of such changes in our meta community on the programming.dev site, in the updates account on the bytes.programming.dev site, in the news community in our discord server, and in the news community in our matrix server. We encourage you to review the Community Guidelines periodically for any modifications.
## Contact Us
If you have questions or concerns about these Community Guidelines you should contact us at info@programming.dev.

View File

View File

@ -0,0 +1,7 @@
# Cookie Policy
## Do we Make Updates to this Cookie Policy?
We may update the Cookie Policy from time to time. When we do, we will change the "Last Updated" date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review the Cookie Policy periodically for any modifications.
## Contact Us
If you have questions or concerns about this Cookie Policy you should contact us at info@programming.dev.

View File

View File

@ -0,0 +1,45 @@
# 🌍 Defederation Policy
This document details how Programming.Dev ("programming.dev", "we", "us", "our") choose to defederate with other instances. If an instance wishes to be federated and thus have their content show on our sites they must abide by the policy and ensure they do not do one of the actions in the how an instance gets defederated section.
## What is Defederation?
Our sites are federated with other instances. Instances are essentially sites but that are instances of federated software. This means that content posted on our sites is visible from other sites and we get content from other sites to interact with on our sites. Someone in a federated forum about cars may browse programming posts on their cars site and comment from there and we may do the same to them.
Defederating from a instance:
- Makes users from our sites not be able to see things such as posts and comments from users on that instance.
- Makes users from that instance no longer be able to interact with communities or users on our sites in a way thats visible outside of their instance.
## How does an instance get defederated?
- Instances may be defederated if they break our [Code of Conduct](https://legal.programming.dev/docs/code-of-conduct) whether though encouraging something we disallow or not moderating users that break it.
- Instances that have no active administrators may be defederated.
- Instances that have a lack of security that is not addressed and that puts our users at risk may be defederated. This includes things like having a sign up process that does not stop bots from mass creating accounts.
- Instances that have defederated from us may be defederated to prevent one way conversations where we get content from the other instance but users commenting on that content get no response.
## Defederated Instances
This is a list of all of the instances we have currently defederated and the reasoning for them:
Forums & Link Aggregators
```
burggit.moe - Lolicon, Shotacon, & Ignoring DMCA requests
hexbear.net - Not on allowlist
kbin.cafe - CSAM
mujico.org - Racism
rqd2.net - Pedophilia, Zoophilia, & Biastophilia
```
Microblogs
```
13bells.com - Hate Speech, Homophobia & Transphobia
1611.social - Hate Speech, Homophobia & Racism
4aem.com - Antisemitism
5dollah.click - Racism
more to be added here. Full list is visible on fediseer or our site federation tab if it exists
```
## Defederation Appeals
If you are the admin of an instance we have defederated, you wish to reverse the defederation, and you follow our [Code of Conduct](https://legal.programming.dev/docs/code-of-conduct) contact us as info@programming.dev.
## Are Updates Made to this Defederation Policy?
We may update the Defederation Policy from time to time. When we do the date at the bottom of the page will change to indicate the date of the most recent changes. In addition, clicking on that date will bring you to the commit in the code repository that shows who edited it, and what was changed. If we make changes we may notify you by posting a notice of such changes in our meta community on the programming.dev site, in the updates account on the bytes.programming.dev site, in our blog on the stacks.programming.dev site, in the news community in our discord server, and in the news community in our matrix server. We encourage you to review the Defederation Policy periodically for any modifications.
## Contact Us
If you have questions or concerns about this Defederation Policy you should contact us at info@programming.dev.

View File

@ -0,0 +1,31 @@
# ❤️ Donation Policy
This is a policy that describes how Programming.Dev ("programming.dev", "we", "us", "our") handles and spends donations made towards us.
## How are Donations Made?
Donations are currently made using [snowe's github sponsors page](https://github.com/sponsors/snowe2010/). If you get another place to donate that is not this it is fake and should be reported to us.
## How are Donations Spent?
Donations are spent on things relating to our sites. This includes things such as server costs, infrastructure costs, tool costs, and payment for work done relating to it.
## Who is Considered a Donator?
Donators are people who have at one point made a donation towards us regardless on whether they are currently doing a monthly donation, did one in the past, or did a one time donation.
## Donation Perks
We offer perks towards donators that have at one point made a donation towards us. These are the current perks donators get:
- A donator role on our discord server.
- An account on our linkstack site https://me.programming.dev for sharing links related to you in a page.
## Donation Perk Terms
By donating to programming.dev you acknowledge and agree to the following terms:
- **Display Proof:** To get access to a perk you must be able to prove that you are the one that made the donation.
- **Account Requirement:** Access to a perk requires an account on the platform the perk is on. For example to get a discord role you need a discord account.
- **Request Perks:** To get a perk you need to request it from a community team admin in charge of the software the perk is on or from our contact email at info@programming.dev.
- **Refund Policy:** Donations are generally non refundable. If a perk is removed or edited refunds will not be given.
- **Modification of Perks:** Perks may be modified at any time to change details about a perk, add new perks, or remove existing perks. They are privileges and do not constitute a legal right or entitlement.
- **Perk Removal:** Users may have perks taken away from them if they abuse the perk (as in use it in a way it was not intended) or break our [Code of Conduct](https://github.com/programming-dot-dev/p.d-legal/blob/main/CODE-OF-CONDUCT.md).
## Are Updates Made to this Donation Policy?
We may update the Donation Policy from time to time. When we do the date at the bottom of the page will change to indicate the date of the most recent changes. In addition, clicking on that date will bring you to the commit in the code repository that shows who edited it, and what was changed. If we make changes we may notify you by posting a notice of such changes in our meta community on the programming.dev site, in the updates account on the bytes.programming.dev site, in our blog on the stacks.programming.dev site, in the news community in our discord server, and in the news community in our matrix server. We encourage you to review the Donation Policy periodically for any modifications.
## Contact Us
If you have questions or concerns about this Donation Policy you should contact us at info@programming.dev.

View File

@ -0,0 +1,8 @@
# Moderator Guidelines
These moderator guidelines detail expected conduct when moderating a community in one of the Programming.Dev ("programming.dev", "we", "us", "our") sites.
## Do we Make Updates to these Moderator Guidelines?
We may update the Moderator Guidelines from time to time. When we do the date at the bottom of the page will change to indicate the date of the most recent changes. In addition, clicking on that date will bring you to the commit in the code repository that shows who edited it, and what was changed. If we make changes we may notify you by posting a notice of such changes in our meta community on the programming.dev site, in the updates account on the bytes.programming.dev site, in the news community in our discord server, and in the news community in our matrix server. We encourage you to review the Moderator Guidelines periodically for any modifications.
## Contact Us
If you have questions or concerns about these Moderator Guidelines you should contact us at info@programming.dev.

View File

@ -0,0 +1,71 @@
# Privacy Policy
This privacy policy describes how Programming.Dev ("programming.dev", "we", "us", "our") collects, protects and uses information provided to us when you use our services including:
- Our websites such as programming.dev or bytes.programming.dev.
- APIs for our websites.
- Any other place we collect information from you and link this Privacy Policy.
By joining and contributing to our services, you acknowledge that it is running on early release software. Although we take reasonable precautions to maintain the security of personal data provided to us we cannot guarantee that the software is free from defect that will expose any or all of that personal data.
If you do not agree with all of our policies and practices, do not use our services. If you have any questions or concerns, contact us at info@programming.dev.
## Site Usage by Children:
All of our services are directed towards people who are at least 16 years old. We do not knowingly collect personal information from people under the age of 16. If you are under the age of 16, please do not use our services. If we learn that personal information from people who are less than 16 years old has been collected, we will deactivate the account and take reasonable measures to delete the data from our records.
## What do we use Your Information for?
Any information we collect from you may be used in the following ways:
- To provide the core functionality of our services such as being able to comment on other people's posts or subscribing to communities when you are logged in.
- To aid in moderation of our services, for example to detect vote manipulation.
- To send you information, notifications about other people interacting with your content or sending you messages, or notifications for new posts created, if you opt in to any of these options in the settings. We may also use it to respond to you about inquiries, and/or other requests or questions.
## What Information do we Collect?
**Account/Profile Information:**
- When creating an account on one of our services you may be asked to enter in a username and password. You may also enter additional information into optional fields such as: email, display name, profile picture, banner image, matrix ID, location, birthday, language, and biography.
- Currently (as of February 10, 2024), all of the optional fields are always listed publicly; your password and email is kept private.
**Service Provided User Actions:**
- On any of our services, when performing an action the date and time (during when the action is taken) is recorded in addition to saving the content and any media attachments (pictures and/or videos) alongside the performed action. All of this information is publicly available due to the nature of federation which uses the [ActivityPub protocol](https://en.wikipedia.org/wiki/ActivityPub). The actions made by users of our services is sent to other instances using the ActivityPub protocol and then stored on their servers so that they can display the actions correctly on their instances.
- Actions in the context of our provided services and Privacy Policy may include (not exhaustive):
1. Creating/editing a post or comment.
2. Voting/reacting on a post or comment.
3. Subscribing to a community or magazine.
**Direct Messages:**
- All direct messages sent are unencrypted and may be delivered to other servers if the user you are sending a message to is on a service other than one provided by us. We make a good faith effort to limit the access to direct messages to only authorized persons but other servers may fail to do so, so it is important to review who and what service you are sending messages to. Please keep in mind that operators of our services and any receiving services may view direct messages and that recipients may screenshot, copy, or otherwise re-share them so it is recommended to not share any sensitive information.
**IPs and Other Metadata:**
- When you log in, we may record the IP address you logged in from, the time and date you logged in at, as well as the name of your browser application. We also have server logs which include the IP address of every request to our server.
- Image embedded metadata [(Exif data)](https://en.wikipedia.org/wiki/Exif), on images hosted on our services are scrubbed/erased.
- Your IP address and email remains private to our services. However, due to the nature of federated services, all of your engagement (profile, posts, comments, messages, votes, etc.) on our services should be considered public and you are responsible for taking appropriate precautions in how you interact with our services. It is highly recommended that you do not share any publicly identifying information on our sites, products, or services.
## How do we Protect Your Information?
We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may also enable two factor authentication to further protect your account.
## What is our Data Retention Policy?
We will make a good faith effort to:
- Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 1 day.
- Retain the IP addresses and name of your browser application associated with logins for no more than 1 day.
You may irreversibly delete your account at any time. However, this does not guarantee all instances will be notified or respect the deletion of your public data.
## Do we use Cookies?
We use cookies for specific functionalities, which includes Cloudflare clearance and JWT (JSON Web Token) authentication purposes.
- Cloudflare clearance: Cookies provided by Cloudflare to store the proof of passing a Cloudflare challenge.
- JWT: A token to allow you to access and interact with our services after logging in.
These cookies do not store personally identifiable information and are necessary for the proper functioning of our services. By continuing to use our services, you consent to the use of these essential cookies.
Please note that you can manage or disable cookies through your browser settings. However, disabling these essential cookies may impact the functionality and security of services.
## Do we Disclose Any Information to Outside Parties?
We do not sell, trade, or transfer your personal information to outside parties. This does not include trusted third parties who assist us in operating our services, so long as those parties agree to keep this information confidential.
Your public content may be downloaded by other servers using the [ActivityPub protocol](https://en.wikipedia.org/wiki/ActivityPub), as well as direct messages to the servers of the recipients.
When you log in to your account on a service not provided by us, it may access your public information as well as password when logging in.
## Do we Make Updates to This Privacy Policy?
We may update this privacy policy from time to time. When we do, we will change the "Last Updated" date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review this Privacy Policy periodically for any modifications.
## Contact Us
If you have questions or concerns about this Privacy Policy you should contact us at info@programming.dev.

View File

@ -0,0 +1,7 @@
# Terms of Service
## Do we Make Updates to this Terms of Service?
We may update the Terms of Service from time to time. When we do, we will change the "Last Updated" date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review the Terms of Service periodically for any modifications.
## Contact Us
If you have questions or concerns about this Terms of Service you should contact us at info@programming.dev.

View File

@ -0,0 +1,7 @@
---
BookMenuBundle: '/menu/test'
---
Test 2A
ASFASF
ASFAISHFIUASF

19
content/menu/_index.md Normal file
View File

@ -0,0 +1,19 @@
---
headless: true
---
**Documents**
- [🛠️ Admin Guidelines]({{< relref "/docs/admin-guidelines" >}})
- [🤖 Automation Guidelines]({{< relref "/docs/automation-guidelines" >}})
- [🤝 Code of Conduct]({{< relref "/docs/code-of-conduct" >}})
- [🪴 Community Guidelines]({{< relref "/docs/community-guidelines" >}})
- [🪲 Contributing Guidelines]({{< relref "/docs/contributing-guidelines" >}})
- [🍪 Cookie Policy]({{< relref "/docs/cookie-policy" >}})
- [📘 Data Retention Policy]({{< relref "/docs/data-retention-policy" >}})
- [🌍 Defederation Policy]({{< relref "/docs/defederation-policy" >}})
- [❤️ Donation Policy]({{< relref "/docs/donation-policy" >}})
- [🏡 Moderator Guidelines]({{< relref "/docs/moderator-guidelines" >}})
- [🔒 Privacy Policy]({{< relref "/docs/privacy-policy" >}})
- [📜 Terms of Service]({{< relref "/docs/terms-of-service" >}})
- [A]({{< relref "/docs/test/test" >}})
<br/>

View File

@ -0,0 +1,14 @@
---
headless: true
---
**Documents**
- [🛠️ Admin Guidelines]({{< relref "/docs/privacy-policy" >}})
- [🤖 Automation Guidelines]({{< relref "/docs/automation-guidelines" >}})
- [🤝 Code of Conduct]({{< relref "/docs/code-of-conduct" >}})
- [🪴 Community Guidelines]({{< relref "/docs/community-guidelines" >}})
- [🪲 Contributing Guidelines]({{< relref "/docs/contributing-guidelines" >}})
- [🍪 Cookie Policy]({{< relref "/docs/cookie-policy" >}})
- [📘 Data Retention Policy]({{< relref "/docs/data-retention-policy" >}})
- [A]({{< relref "/docs/test/test" >}})
<br/>

29
hugo.yaml Normal file
View File

@ -0,0 +1,29 @@
baseURL: https://example.com/
title: P.D Legal
theme: hugo-book
enableGitInfo: true
languages:
en:
languageName: English
contentDir: content
weight: 1
menu:
# before: []
after:
- name: "Source"
url: "https://github.com/programming-dot-dev/p.d-legal"
weight: 10
- name: "Links"
url: "https://me.programming.dev"
weight: 100
params:
BookTheme: 'auto'
BookToC: true
BookLogo: 'logo.png'
BookFavicon: 'logo.png'
BookMenuBundle: /menu
BookRepo: https://github.com/programming-dot-dev/p.d-legal

View File

@ -0,0 +1,4 @@
{{ with .Site.GetPage .Page.Params.BookMenuBundle }}
{{- $href := printf "href=\"%s\"" $.RelPermalink -}}
{{- replace .Content $href (print $href "class=active") | safeHTML -}}
{{ end }}

View File

@ -0,0 +1,25 @@
<nav>
{{ partial "docs/brand" . }}
{{ partial "docs/search" . }}
{{ partial "docs/languages" . }}
{{ partial "docs/inject/menu-before" . }}
{{ partial "docs/menu-hugo" .Site.Menus.before }}
{{ if .Page.Params.BookMenuBundle }}
{{ partial "docs/menu-page-bundle" . }}
{{ else if .Site.Params.BookMenuBundle }}
{{ partial "docs/menu-bundle" . }}
{{ else }}
{{ partial "docs/menu-filetree" . }}
{{ end }}
{{ partial "docs/menu-hugo" .Site.Menus.after }}
{{ partial "docs/inject/menu-after" . }}
</nav>
<!-- Restore menu position as soon as possible to avoid flickering -->
{{ $script := resources.Get "menu-reset.js" | resources.Minify }}
{{ with $script.Content }}
<script>{{ . | safeJS }}</script>
{{ end }}

BIN
static/logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

1
themes/hugo-book Submodule

@ -0,0 +1 @@
Subproject commit 5e15ddb4f430cd9ded6bf232ede14d468ccb41f1