Skip to content

Commit c2428ad

Browse files
FujoWeb.dev writing style start
1 parent 0cc9658 commit c2428ad

File tree

10 files changed

+401
-46
lines changed

10 files changed

+401
-46
lines changed

.vscode/settings.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"workbench.colorCustomizations": {
3+
"commandCenter.border": "#15202b99",
4+
"sash.hoverBorder": "#e7b423",
5+
"titleBar.activeBackground": "#c29515",
6+
"titleBar.activeForeground": "#15202b",
7+
"titleBar.inactiveBackground": "#c2951599",
8+
"titleBar.inactiveForeground": "#15202b99"
9+
},
10+
"peacock.color": "#c29515"
11+
}

astro.config.mjs

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,32 @@
11
// @ts-check
2-
import { defineConfig } from 'astro/config';
3-
import starlight from '@astrojs/starlight';
2+
import { defineConfig } from "astro/config";
3+
import starlight from "@astrojs/starlight";
44

55
// https://astro.build/config
66
export default defineConfig({
7-
integrations: [
8-
starlight({
9-
title: 'My Docs',
10-
social: [{ icon: 'github', label: 'GitHub', href: 'https://github.com/withastro/starlight' }],
11-
sidebar: [
12-
{
13-
label: 'Guides',
14-
items: [
15-
// Each item here is one entry in the navigation menu.
16-
{ label: 'Example Guide', slug: 'guides/example' },
17-
],
18-
},
19-
{
20-
label: 'Reference',
21-
autogenerate: { directory: 'reference' },
22-
},
23-
],
24-
}),
25-
],
7+
integrations: [
8+
starlight({
9+
title: "My Docs",
10+
social: [
11+
{
12+
icon: "github",
13+
label: "GitHub",
14+
href: "https://github.com/withastro/starlight",
15+
},
16+
],
17+
sidebar: [
18+
{
19+
label: "Sociocracy",
20+
items: [
21+
// Each item here is one entry in the navigation menu.
22+
{ label: "Example Guide", slug: "sociocracy/example" },
23+
],
24+
},
25+
{
26+
label: "FujoWeb.dev & FujoGuide",
27+
autogenerate: { directory: "fujowebdev" },
28+
},
29+
],
30+
}),
31+
],
2632
});
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Content Formatting
3+
sidebar:
4+
order: 5
5+
---
6+
7+
Our content is designed for _skimmability_: as you write it, imagine you’re only reading bits and pieces of it as you go in search of the sections most relevant to what you’re trying to do.
8+
9+
### General Formatting
10+
11+
- **Paragraphs:** Keep them short and (ideally) focused on one idea. Be generous with them\!
12+
13+
- **Bold:** Use bold to highlight the main big idea in a series of paragraphs, or other crucial concepts. Try to highlight the content so it reads like a full sentence. For example: “As one of the most popular Version Control Systems, **Git helps you never lose track of changes to your code**, no matter how long it’s been since you last worked on it\!
14+
15+
- How much of the sentence to highlight is a bit of an art\! Do your best to imagine what _you_ would want to see pop out of the page as you skim through it\!
16+
17+
- Make sure not to bold too often in a row, as it can get overwhelming and lose effectiveness.
18+
19+
- **Emphasis:** We use _emphasis/italics_ to:
20+
21+
- Stress important points in sentences, e.g. pay _very close_ attention to the path you give to the `rm` command.
22+
23+
- Use emphasis to highlight technical terms that aren’t code commands (e.g. In coding, it’s often useful to use _relative paths_ for files and directories). This is inconsistent, and up for debate whether we should make this a standard advice.
24+
25+
- Group together longer titles without using “” (e.g. This articles are designed as companions to _FujoGuide Issue 1: Local Version Control with Git_, which you can buy…)
26+
27+
- **Linking:** use links generously, and make sure you’re linking descriptive text (not “`click here`” but “`find the official documentation here`”). You should link to:
28+
29+
- Relevant articles from elsewhere on `learn.fujoweb.dev`, especially for prerequisites, terms definitions, or deeper knowledge
30+
31+
- Authoritative external sources (e.g. `MDN`, official tool docs)
32+
33+
- If we don’t have a guide, we might try to find a good substitute on the web. However, these links tend to rot.
34+
35+
- **Lists:** Use lists generously, as they help with skimmability. You should:
36+
37+
- Use numbered lists for items in sequence (e.g. we’ll learn 1\) how to do A 2\) how to do B…)
38+
39+
- Use bullet point lists for key takeaways or items not in a sequence (like this list\!)
40+
41+
- Use [**Steps**](https://starlight.astro.build/components/steps/) for sequences of instructions
42+
43+
### Code Formatting
44+
45+
- **Inline Code:** We use inline code to highlight:
46+
47+
- Commands (e.g. `git commit -m “your message”`)
48+
49+
- File names (`index.html`), paths `~/my_site/`, keyboard shortcuts (`ctrl + k`) or tool names (`vim`, `zsh`)
50+
51+
- **Code blocks:** Code blocks are an essential part of our guides, as they help people see how things work _in practice_ and help break the flow of the text (and aid in skimmability). You should:
52+
53+
- Make sure to explain what the code does and why it’s there
54+
55+
- Provide both input and output (unless confusing). You can omit part of the output if it helps the user focus on what you want to see. Similarly, you can make some output lighter to de-emphasize it.
56+
57+
- Use the code block captions to call out any particular element of the example you want the user to notice
58+
59+
### Other Formatting
60+
61+
- **Images:** Use images to show non-code results, UIs, or examples of programs in action. You can annotate if needed, but be mindful that it makes them harder to edit later.
62+
63+
- If you cannot provide ALT text yourself, let us know: we’ll get someone to write it for you.
64+
65+
- Use captions to help the reader understand what they’re looking at and what matters about it.
66+
67+
- **Diagrams:** [We use Excalidraw for diagrams](https://excalidraw.com/). Make sure you download the `.excalidraw` file and not just the PNG.
68+
69+
- **Tabs:** When a command differs across programs or Operating Systems, you can use [Tabs](https://starlight.astro.build/components/tabs/) to provide alternative versions of commands or explanations.
70+
71+
- **More components:** we can easily use [all components from Starlight](https://starlight.astro.build/components/steps/). If you think a specific functionality not covered by these would help, you can ask Ms Boba whether it can be provided.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: What is FujoWeb.dev?
3+
sidebar:
4+
order: 1
5+
---
6+
7+
Clear and approachable learning content for beginner-to-intermediate hobbyist
8+
web developers that is:
9+
10+
- **Practical**, helping _hobbyists_ who want to hit the ground running get
11+
started quickly
12+
- **Foundational**, clarifying concepts _hobbyists’_ guides gloss over to make
13+
advanced tools accessible
14+
- **Encouraging**, deeply believing in the reader's ability to learn complex
15+
subjects…
16+
- **Validating**, …while acknowledging the real struggles (and joys) of learning
17+
web development
18+
19+
But, above all:
20+
21+
- <u>**Empowering**</u>, framing learning not as a chore, but as a tool to
22+
reclaim a sense of control over the web and its endless possibilities of
23+
creative expression and human connection
24+
25+
## Our Audience
26+
27+
Hobbyist web developers that aren’t (necessarily) building a coding career, but
28+
are drawn to the creative and practical possibilities of programming—especially
29+
when it comes to building tools for themselves and their communities.
30+
31+
We assume they:
32+
33+
- **Have already taken (basic) steps into programming**, but may be running
34+
commands or copy-pasting code they don’t fully understand
35+
- **Are overwhelmed by the many paths and topics out there**, and are looking
36+
for guidance on where to go next
37+
- **Are stuck in a learning limbo**, caught between hobbyist learning material
38+
they outgrew, and hard-to-parse professional guides that don’t speak to their
39+
needs
40+
41+
:::note[Audience Demographic]
42+
43+
As we write, we primarily imagine an audience that is:
44+
45+
- **Very online**, aware of online memes and parlance
46+
- **Millennial**, coming online around the 00s-10s period (or wishing they had)
47+
- **Nostalgic**, of a time when the internet didn’t take itself so seriously and
48+
possibilities felt endless
49+
- **Unapologetically passionate**, not afraid of being seen as “cringe” as they
50+
dive deep into their interests
51+
52+
:::
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: "Projects: FujoGuide & Co."
3+
sidebar:
4+
order: 2
5+
---
6+
7+
Our projects serve people in two ways:
8+
9+
- **As they’re starting**, it gives them clear, actionable entry points to begin
10+
tinkering with useful tools and languages
11+
12+
- **As they’re growing**, it gives them a place they can revisit to renew and
13+
deepen their understanding of the tools they’re using
14+
15+
## Our Role
16+
17+
\[We make choices about which technologies we use and talk about using
18+
these criteria:
19+
20+
- Tools should be modern and be valid industry practice that is still useful to
21+
people
22+
- We focus on the TypeScript language and ecosystem because \[\[reasons\]\]
23+
24+
\]
25+
26+
## Our Entry Points
27+
28+
\[One of the goals of the FujoVerse™ is to create projects that entice and
29+
encourage people to take up programming, and FujoGuide is meant to be the answer
30+
as to how they can do that\]
31+
32+
- \[BobaBoard can funnel people into learning collaborative and self-reliant
33+
tools\]
34+
- \[Our NPM libraries encourage people to learn how to use NPM or get bolder
35+
with their Astro websites\]
36+
- \[Fandom Coders …\]
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
title: Articles Structure
3+
sidebar:
4+
order: 3
5+
---
6+
7+
Most articles benefits from the following flow:
8+
9+
1. **Title:** clear and descriptive
10+
11+
2. **Intro Section**
12+
13+
1. _Quick introduction to the article topic:_ a couple of sentences that help the reader understand whether they’re interested in the subject at all.
14+
15+
2. _“After reading this article, you’ll know”:_ a list of bullet points explaining the major topics the article covers, each linking to the specific section where the topic is presented. These will often correspond to section titles, but can use different language if needed to be descriptive.
16+
17+
3. _Prerequisites:_ let the reader know if they need specific knowledge before tackling this article. If we have articles covering this knowledge, make sure to link to them.
18+
19+
3. **Article Sections**
20+
21+
1. Use descriptive section titles. It’s ok to be a bit funny, if things remain clear in context (e.g. “`The nuclear exit option`”, “`Forcing TypeScript to Shut Up`”)
22+
23+
2. Use subsections generously. Think about where a confused friend could use a reference to a specific subsection\!
24+
25+
3. Show practical examples whenever you can. For example, by showing a sample of commands and outputs that illustrate the topic in practice.
26+
27+
1. When you choose a command make sure that its level is appropriate to the current level of the audience (e.g. they might not know what “changing a port” means).
28+
29+
2. Good commands depend on the article and its positioning in the surrounding content ecosystem, but they generally tend to be basic, of broad usefulness, and easy to understand (e.g. `ls` in terminal, or `npm install`).
30+
31+
3. Rule of thumbs for choosing commands or examples:
32+
33+
1. Do they already know them? Is this something they’re likely to want to do often? IF NOT,
34+
35+
2. Do we expect them to learn about it soon? Would it be useful for them to learn this at this stage? IF NOT
36+
37+
3. Can we explain in simple words why something would be useful to them, even if they don’t have the full context or appreciation of the topic?
38+
39+
4. **Use callout boxes/asides for:** _(note**:** we aren’t always using these right in our current material)_
40+
41+
1. **`::note`:** Information that is helpful to know but that isn’t solving an immediate problem. Might be minor clarifications that enhance understanding without being critical, alternative approaches, or interesting background. _Examples include_: historical reasons for design choices, alternative tools, gentle reminders of past concepts.
42+
43+
2. **`:::tip`:** Best practices, clever shortcuts, _great_ advice, or links to related guides. These are positive suggestions that will help people work smarter, get over anxieties, or learn more about the topic. _Examples include_: common keyboard shortcuts, optional (but useful) features, “this is hard for experts too”, links to deeper explanations of related topics.
44+
45+
3. **`:::caution`:** A common pitfall, error, or unexpected behavior that might lead to frustration (bugs, wasted time...) but not cause irrecoverable loss or security/privacy risks. _Examples include_: this command requires absolute file paths, if this setting isn’t configured you might encounter an error.
46+
47+
4. **`:::danger`:** things that can go very wrong, either in unrecoverable ways, or with significant negative consequences\! _Examples include:_ making sure readers know about the dangers of `rm -rf`, or things that might accidentally cause privacy leaks (e.g. `git` user settings).
48+
49+
A callout box can also include a collapsed section for further explanations that are not necessary and might be overwhelming to the casual reader. The callout box should still include a broad overview of the topic to help the reader determine whether they want to read further. The collapsed elements should have descriptive titles so readers know whether to open them\!
50+
51+
4. **Outro Section** (note: we don’t really have this now, but we should)
52+
53+
1. _A short summary_ of what the reader can now do thanks to what they learned.
54+
55+
2. _Suggestions for next steps:_ could be other articles (“`Now that you know how to open a terminal, you can learn how to run programs or navigate your filesystem`”), or an invitation to try things out (“`Now try building your own NodeJS programs`”).
56+
57+
3. If relevant, a call to action to check out our paid offerings (like the Git zine).

0 commit comments

Comments
 (0)