mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-12 17:26:19 +00:00
Experiment with PDF generation
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
This commit is contained in:
141
docs/community/code-of-conduct.md
Normal file
141
docs/community/code-of-conduct.md
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
title: Community Code of Conduct
|
||||
description: We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
---
|
||||
# Code of Conduct
|
||||
|
||||
Inspired by the leadership of other [great open source projects](https://www.contributor-covenant.org/adopters/), we've adopted the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/) (*below*).
|
||||
|
||||
Details re the implementation of the enforcement guidelines outlined below can be found in the pages detailing each of our community environments:
|
||||
|
||||
* [Discord](/community/discord/)
|
||||
* Discourse (coming soon)
|
||||
* GitHub (coming soon)
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
abuse@funkypenguin.co.nz.
|
||||
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
<https://www.contributor-covenant.org/faq>. Translations are available at
|
||||
<https://www.contributor-covenant.org/translations>.
|
||||
70
docs/community/contribute.md
Normal file
70
docs/community/contribute.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: How to contribute to Geek Cookbook
|
||||
description: Loving the geeky recipes, and looking for a way to give back / get involved. It's not all coding - here are some ideas re various ways you can be involved!
|
||||
---
|
||||
# Contribute
|
||||
|
||||
## Spread the word ❤️
|
||||
|
||||
Got nothing to contribute, but want to give back to the community? Here are some ideas:
|
||||
|
||||
1. Star :star: the [repo](https://github.com/geek-cookbook/geek-cookbook/)
|
||||
2. Tweet :bird: the [meat](https://ctt.ac/Vl6mc)!
|
||||
|
||||
## Contributing moneyz 💰
|
||||
|
||||
Sponsor [your chef](https://github.com/sponsors/funkypenguin) :heart:, or [join us](/#sponsored-projects) in supporting the open-source projects we enjoy!
|
||||
|
||||
## Contributing bugfixorz 🐛
|
||||
|
||||
Found a typo / error in a recipe? Each recipe includes a link to make the fix, directly on GitHub:
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
Click the link to edit the recipe in Markdown format, and save to create a pull request!
|
||||
|
||||
Here's a [113-second video](https://static.funkypenguin.co.nz/how-to-contribute-to-geek-cookbook-quick-pr.mp4) illustrating the process!
|
||||
|
||||
## Contributing recipes 🎁
|
||||
|
||||
Want to contributing an entirely new recipe? Awesome!
|
||||
|
||||
For the best experience, start by [creating an issue](https://github.com/geek-cookbook/geek-cookbook/issues/) in the repo (*check whether an existing issue for this recipe exists too!*). Populating the issue template will flesh out the requirements for the recipe, and having the new recipe pre-approved will avoid wasted effort if the recipe _doesn't_ meet requirements for addition, for some reason (*i.e., if it's been superceded by an existing recipe*)
|
||||
|
||||
Once your issue has been reviewed and approved, start working on a PR using either GitHub Codespaces or local dev (below). As soon as you're ready to share your work, create a WIP PR, so that a preview URL will be generated. Iterate on your PR, marking it as ready for review when it's ... ready :grin:
|
||||
|
||||
### 🏆 GitPod
|
||||
|
||||
GitPod (free up to 50h/month) is by far the smoothest and most slick way to edit the cookbook. Click [here](https://gitpod.io/#https://github.com/geek-cookbook/geek-cookbook) to launch a browser-based editing session! 🥷
|
||||
|
||||
### 🥈 GitHub Codespaces
|
||||
|
||||
[GitHub Codespaces](https://github.com/features/codespaces) (_no longer free now that it's out of beta_) provides a browser-based VSCode interface, pre-configured for your development environment. For no-hassle contributions to the cookbook with realtime previews, visit the [repo](https://github.com/geek-cookbook/geek-cookbook), and when clicking the download button (*where you're usually get the URL to clone a repo*), click on "**Open with CodeSpaces**" instead:
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
You'll shortly be dropped into the VSCode interface, with mkdocs/material pre-installed and running. Any changes you make are auto-saved (*there's no "Save" button*), and available in the port-forwarded preview within seconds:
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
Once happy with your changes, drive VSCode as normal to create a branch, commit, push, and create a pull request. You can also abandon the browser window at any time, and return later to pick up where you left off (*even on a different device!*)
|
||||
|
||||
### 🥉 Editing locally
|
||||
|
||||
The process is basically:
|
||||
|
||||
1. [Fork the repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo)
|
||||
2. Clone your forked repo locally
|
||||
3. Make a new branch for your recipe (*not strictly necessary, but it helps to differentiate multiple in-flight recipes*)
|
||||
4. Create your new recipe as a markdown file within the existing structure of the [manuscript folder](https://github.com/geek-cookbook/geek-cookbook/tree/master/manuscript)
|
||||
5. Add your recipe to the navigation by editing [mkdocs.yml](https://github.com/geek-cookbook/geek-cookbook/blob/master/mkdocs.yml#L32)
|
||||
6. Test locally by running `./scripts/serve.sh` in the repo folder (*this launches a preview in Docker*), and navigating to <http://localhost:8123>
|
||||
7. Rinse and repeat until you're ready to submit a PR
|
||||
8. Create a pull request via the GitHub UI
|
||||
9. The pull request will trigger the creation of a preview environment, as illustrated below. Use the deploy preview to confirm that your recipe is as tasty as possible!
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
## Contributing skillz 💪
|
||||
|
||||
Got mad skillz, but neither the time nor inclination for recipe-cooking? [Scan the GitHub contributions page](https://github.com/geek-cookbook/geek-cookbook/contribute), [Discussions](https://github.com/geek-cookbook/geek-cookbook/discussions), or jump into [Discord](/community/discord/) or [Discourse](/community/discourse/), and help your fellow geeks with their questions, or just hang out bump up our member count!
|
||||
103
docs/community/discord.md
Normal file
103
docs/community/discord.md
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: Geek out with Funky Penguin's Discord Server
|
||||
description: The most realtime and exciting way engage with our geeky community is in our Discord server!
|
||||
icon: material/discord
|
||||
---
|
||||
# Discord
|
||||
|
||||
The most realtime and exciting way engage with our geeky community is in our [Discord server](http://chat.funkypenguin.co.nz)
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<iframe src="https://e.widgetbot.io/channels/396055506072109067/456689991326760973" height="600" width="800"></iframe>
|
||||
|
||||
!!! question "Eh? What's a Discord? Get off my lawn, young whippersnappers!!"
|
||||
Yeah, I know. I also thought Discord was just for the gamer kids, but it turns out it's great for a geeky community. Why? [Let me elucidate ya.](https://www.youtube.com/watch?v=1qHoSWxVqtE)..
|
||||
|
||||
1. Native markdown for code blocks
|
||||
2. Drag-drop screenshots
|
||||
3. Costs nothing, no ads
|
||||
4. Mobile notifications are reliable, individual channels mutable, etc
|
||||
|
||||
## How do I join the Discord server?
|
||||
|
||||
1. Create [an account](https://discordapp.com)
|
||||
2. [Join the geek party](http://chat.funkypenguin.co.nz)!
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
With the goal of creating a safe and inclusive community, we've adopted the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/), as described [here](/community/code-of-conduct/).
|
||||
|
||||
### Reporting abuse
|
||||
|
||||
To report a violation of our code of conduct in our Discord server, type `!report <thing to report>` in any channel.
|
||||
|
||||
Your report message will immediately be deleted from the channel, and an alert raised to moderators, who will address the issue as detailed in the [enforcement guidelines](/community/code-of-conduct/#enforcement-guidelines).
|
||||
|
||||
## Channels
|
||||
|
||||
### 📔 Information
|
||||
|
||||
| Channel Name | Channel Use |
|
||||
|--------------------|------------------------------------------------------------|
|
||||
| #announcements | Used for important announcements |
|
||||
| #changelog | Used for major changes to the cookbook (to be deprecated) |
|
||||
| #cookbook-updates | Updates on all pushes to the master branch of the cookbook |
|
||||
| #premix-updates | Updates on all pushes to the master branch of the premix |
|
||||
| #discourse-updates | Updates to Discourse topics |
|
||||
|
||||
### 💬 Discussion
|
||||
|
||||
| Channel Name | Channel Use |
|
||||
|----------------|----------------------------------------------------------|
|
||||
| #introductions | New? Pop in here and say hi :) |
|
||||
| #general | General chat - anything goes |
|
||||
| #cookbook | Discussions specifically around the cookbook and recipes |
|
||||
| #kubernetes | Discussions about Kubernetes |
|
||||
| #docker-swarm | Discussions about Docker Swarm |
|
||||
| #today-i-learned | Post tips/tricks you've stumbled across
|
||||
| #jobs | For seeking / advertising jobs, bounties, projects, etc |
|
||||
| #advertisements | In here you can advertise your stream, services or websites, at a limit of 2 posts per day |
|
||||
| #dev | Used for collaboratio around current development. |
|
||||
|
||||
### Suggestions
|
||||
|
||||
| Channel Name | Channel Use |
|
||||
|--------------|-------------------------------------|
|
||||
| #in-flight | A list of all suggestions in-flight |
|
||||
| #completed | A list of completed suggestions |
|
||||
|
||||
### Music
|
||||
|
||||
| Channel Name | Channel Use |
|
||||
|------------------|-----------------------------------|
|
||||
| #music | DJs go here to control music |
|
||||
| #listen-to-music | Jump in here to rock out to music |
|
||||
|
||||
## How to get help.
|
||||
|
||||
If you need assistance at any time there are a few commands that you can run in order to get help.
|
||||
|
||||
`!help` Shows help content.
|
||||
|
||||
`!faq` Shows frequently asked questions.
|
||||
|
||||
## Spread the love (inviting others)
|
||||
|
||||
Invite your co-geeks to Discord by:
|
||||
|
||||
1. Sending them a link to <http://chat.funkypenguin.co.nz>, or
|
||||
2. Right-click on the Discord server name and click "Invite People"
|
||||
|
||||
## Formatting your message
|
||||
|
||||
Discord supports minimal message formatting using [markdown](https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-).
|
||||
|
||||
!!! tip "Editing your most recent message"
|
||||
You can edit your most-recent message by pushing the up arrow, make your edits, and then push `Enter` to save!
|
||||
|
||||
## How do I suggest something?
|
||||
|
||||
1. Find the #completed channel (*under the **Suggestions** category*), and confirm that your suggestion hasn't already been voted on.
|
||||
2. Find the #in-flight channel (*also under **Suggestions***), and confirm that your suggestion isn't already in-flight (*but not completed yet*)
|
||||
3. In any channel, type `!suggest [your suggestion goes here]`. A post will be created in #in-flight for other users to vote on your suggestion. Suggestions change color as more users vote on them.
|
||||
4. When your suggestion is completed (*or a decision has been made*), you'll receive a DM from carl-bot
|
||||
8
docs/community/discourse.md
Normal file
8
docs/community/discourse.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Let's discourse together about geeky subjects
|
||||
description: Funky Penguin's Discourse Forums serve our geeky communtiy, and consolidate comments and discussion from either the Geek Cookbook or the blog.
|
||||
---
|
||||
# Discourse
|
||||
|
||||
If you're not into the new-fangled microblogging of Mastodon, or realtime chatting of Discord, can still party with us like it's 2001, using our Discourse forums (*this is also how all the recipe comments work*).
|
||||
|
||||
3
docs/community/github.md
Normal file
3
docs/community/github.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# GitHub
|
||||
|
||||
You've found an intentionally un-linked page! This page is under construction, and will be up shortly. In the meantime, head to <https://github.com/geek-cookbook/geek-cookbook>!
|
||||
17
docs/community/index.md
Normal file
17
docs/community/index.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Funky Penguin's Geeky Communities
|
||||
description: Engage with your fellow geeks, wherever they may be!
|
||||
---
|
||||
|
||||
# Geek Community
|
||||
|
||||
Looking for friends / compatriates?
|
||||
|
||||
Find details about our communities below:
|
||||
|
||||
* [Discord](/community/discord/) - Realtime chat, multiple channels
|
||||
* [Reddit](/community/reddit/) - Geek out old-skool
|
||||
* [Mastodon](/community/mastodon/) - Federated, open-source microblogging platform
|
||||
* [Discourse](https://forum.funkypenguin.co.nz) - Forums - asyncronous communition
|
||||
* [GitHub](https://github.com/funkypenguin/) - Issues and PRs
|
||||
* [Facebook](https://www.facebook.com/funkypenguinnz/) - Social networking for old-timers!
|
||||
47
docs/community/mastodon.md
Normal file
47
docs/community/mastodon.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
title: Join our geeky, Docker/Kubernetes-flavored Mastdon instance
|
||||
description: Looking for your geeky niche in the "fediverse"? Join our Mastodon instance!
|
||||
icon: material/mastodon
|
||||
---
|
||||
# Toot me up, buttercup!
|
||||
|
||||
Mastondon is a self-hosted / open-source microblogging platform (*heavily inspired by Twitter*), which supports federation, rather than centralization. Like email, any user on any Mastodon instance can follow, "toot" (*not tweet!*), and reply to any user on any *other* instance.
|
||||
|
||||
Our community Mastodon server is sooo [FKNY](https://so.fnky.nz/web/directory), but if you're already using Mastodon on another server (*or your [own instance][mastodon]*), you can seamlessly interact with us from there too, thanks to the magic of federation!
|
||||
|
||||
!!! question "This is dumb, there's nobody here"
|
||||
|
||||
* Give it time. The first time you get a federated reply from someone on another instance, it just "clicks" (*at least, it did for me*)
|
||||
* Follow some folks (I'm [funkypenguin@so.fnky.nz](https://so.fnky.nz/@funkypenguin))
|
||||
* Install [mobile client](https://joinmastodon.org/apps)
|
||||
|
||||
## How do I Mastodon?
|
||||
|
||||
1. If you're a [sponsor][github_sponsor], check the special `#mastodon` channel in [Discord][discord]. You'll find a super-sekrit invite URL which will get you setup *instantly*
|
||||
2. If you're *not* a sponsor, go to [FNKY](https://so.fnky.nz), and request an invite (*invites must be approved to prevent abuse*) - mention your [Discord][discord] username in the "Why do you want to join?" question.
|
||||
3. Start tootin'!
|
||||
|
||||
## So who do I follow?
|
||||
|
||||
That.. is tricky. There's no big-tech algorithm to suggest friends based on previously-collected browsing / tracking data, you'll have to build your "social graph" from the ground up, one "brick" at a time. Start by following [me](https://so.fnky.nz/@funkypenguin). Here are some more helpful links:
|
||||
|
||||
* [A self-curated list of accounts, sorted by theme](https://communitywiki.org/trunk)
|
||||
* [Reddit thread #1](https://www.reddit.com/r/Mastodon/comments/enr4ud/who_to_follow_on_mastodon/)
|
||||
* [Reddit thread #2](https://www.reddit.com/r/Mastodon/comments/p6vpvq/wanted_positive_mastodon_accounts_to_follow/)
|
||||
* [Reddit thread #3](https://www.reddit.com/r/Mastodon/comments/s0ly2r/new_user_how_do_i_find_people_to_follow/)
|
||||
* [Reddit thread #4](https://www.reddit.com/r/Mastodon/comments/ublg4q/is_it_possible_to_follow_accounts_from_different/)
|
||||
* [Masto.host's FAQ on finding people to follow](https://masto.host/finding-people-to-follow-on-mastodon/)
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
With the goal of creating a safe and inclusive community, we've adopted the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/), as described [here](/community/code-of-conduct/). This code of conduct applies to the Mastodon server.
|
||||
|
||||
### Reporting abuse
|
||||
|
||||
To report a violation of our code of conduct in our Mastodon server, type use Mastodon's "report" function to report a violation, as illustrated below:
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
Moderators will be alerted to your report, who will address the issue as detailed in the [enforcement guidelines](/community/code-of-conduct/#enforcement-guidelines).
|
||||
|
||||
--8<-- "common-links.md"
|
||||
26
docs/community/reddit.md
Normal file
26
docs/community/reddit.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Funky Penguin's Subreddit
|
||||
description: If you're a redditor, jump on over to our subreddit at https://www.reddit.com/r/funkypenguin to engage / share the latest!
|
||||
icon: material/reddit
|
||||
---
|
||||
|
||||
# Reddit
|
||||
|
||||
If you're a redditor, jump on over to our subreddit ([r/funkypenguin](https://www.reddit.com/r/funkypenguin/)), to engage / share the latest!
|
||||
|
||||
## How do I join the subreddit?
|
||||
|
||||
1. If you're not already a member, [create](https://www.reddit.com/register/) a Reddit account
|
||||
2. [Subscribe](https://www.reddit.com/r/funkypenguin/) to r/funkypenguin
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
With the goal of creating a safe and inclusive community, we've adopted the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/), as described [here](/community/code-of-conduct/).
|
||||
|
||||
### Reporting abuse
|
||||
|
||||
To report a violation of our code of conduct in our subreddit, use the "Report" button as illustrated below:
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
The reported message will be highlighted to moderators, who will address the issue as detailed in the [enforcement guidelines](/community/code-of-conduct/#enforcement-guidelines).
|
||||
Reference in New Issue
Block a user