Skip to content

Commit bafc71a

Browse files
committed
Create plutojl-website-content-guidelines.mdc
1 parent 1842f7c commit bafc71a

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
# Plutojl.org Website Content Guidelines
7+
8+
This rule describes how to write and organize content for the [plutojl.org](mdc:plutojl website/plutojl website/https:/plutojl.org) website. See [README.md](mdc:plutojl website/plutojl website/README.md) and [src/en/docs/install.jlmd](mdc:plutojl website/plutojl website/src/en/docs/install.jlmd) for examples.
9+
10+
The Static Site Generation is custom-made, called PlutoPages.jl. It's a small Julia port of eleventy.
11+
12+
---
13+
14+
## Creating New Docs Pages
15+
16+
- **Location:** Place new documentation pages in `src/en/docs/` as `.jlmd` files (Julia-flavored Markdown).
17+
- **Frontmatter:** Start each file with a YAML frontmatter block, e.g.:
18+
```markdown
19+
---
20+
title: "🚂 Page Title"
21+
tags: ["docs", "category"]
22+
layout: "md.jlmd"
23+
order: 1
24+
---
25+
```
26+
- `title`: Page title for sidebar and heading. Start with an emoji and a space.
27+
- `tags`: List of tags for organization/search/sidebar.
28+
- `layout`: Always use `md.jlmd` for docs pages.
29+
- `order`: Floating point. Determines sidebar order (lower numbers appear first).
30+
- **Content:** Write content in Markdown below the frontmatter. Use Julia code blocks and Pluto-specific features as needed. You can use `$` for interpolation of Julia code, and `\$` to insert a dollar sign.
31+
32+
## Adding Pages to the Docs Sidebar
33+
34+
- Pages in `src/en/docs/` with proper frontmatter are automatically included in the sidebar, ordered by the `order` field.
35+
- The `tags` frontmatter is used to determine the sidebar category. Check [sidebar data.jl](mdc:plutojl website/plutojl website/src/sidebar data.jl) for existing categories, or add a new category.
36+
37+
## Referencing Between Docs Pages
38+
39+
- Use relative links. For example, to link to `src/en/docs/install.jlmd` from another page in the same folder:
40+
```markdown
41+
[Installation Guide](mdc:plutojl website/plutojl website/install)
42+
```
43+
- Omit the `.jlmd` extension; use the folder or file name.
44+
- For subfolders, use relative paths:
45+
```markdown
46+
[Advanced Widgets](mdc:plutojl website/advanced-widgets)
47+
```
48+
- For external resources, use full URLs:
49+
```markdown
50+
[Pluto.jl homepage](mdc:plutojl website/plutojl website/https:/plutojl.org)
51+
```
52+
53+
## Writing Style
54+
55+
- **Friendly and Encouraging:** Use a welcoming, informal tone. Emojis and friendly language are encouraged (see [install.jlmd](mdc:plutojl website/plutojl website/src/en/docs/install.jlmd)).
56+
- **Clarity First:** Explain concepts simply. Assume the reader is new to Pluto and Julia.
57+
- **Short Paragraphs:** Use short paragraphs and bullet points for readability.
58+
- **Use Examples:** Show code snippets and practical examples where possible.
59+
- **Direct Instructions:** Use direct language for instructions (e.g., "Go to [this page] for more info!").
60+
- **Accessibility:** Avoid jargon unless explained. Use descriptive link text.
61+
62+
## General Tips
63+
64+
- **Preview Your Changes:** Use the development server as described in [README.md](mdc:plutojl website/plutojl website/README.md) to preview edits live.
65+
- **No Manual Sidebar Edits Needed:** The sidebar is generated automatically from the docs folder structure and frontmatter.
66+
- **Ask for Help:** If unsure, just add your file—maintainers will help with technical details.

0 commit comments

Comments
 (0)