You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
summary: "Replace it with a brief summary that capture the essence of (1) what the article is about and (2) how the reader will benefit from reading it. For examples, check other article summaries."
7
+
# Create your author entry
8
+
# - Create your page at `content/authors/<author-name>/_index.md`
9
+
# - Add your personal data at `data/authors/<author-name>.json`
Copy file name to clipboardExpand all lines: content/pages/contribution-guide/writing-content/index.md
+40-28Lines changed: 40 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,45 +20,57 @@ There are the following prerequisites before you start writing content:
20
20
21
21
### Create and view an article
22
22
23
-
See also the official [docs](https://gohugo.io/getting-started/quick-start/#add-content).
23
+
To create a new article, determine the path and run
24
24
25
-
- To create a new article, determine the path and run
26
-
```sh
27
-
# Blog article
28
-
hugo new content blog/YYYY/MM/<article-folder-name>/index.md
29
-
# Blog article example
30
-
hugo new content blog/2025/04/ulp-lp-core-get-started/index.md
31
-
# Non-blog articles (workshops, events etc.)
32
-
hugo new content <path>/index.md
33
-
```
34
-
This assumes that you want to organize the content as a leaf bundle (a single article). For multi-article entries (workshops, etc.), use the [branch bundle](https://gohugo.io/content-management/page-bundles/#comparison).
35
-
- To view the changes, in your project folder run
25
+
```sh
26
+
# Blog article
27
+
# (if specified folders don't exist, they will be created)
28
+
hugo new content blog/YYYY/MM/<article-folder-name>/index.md
29
+
# Blog article example
30
+
hugo new content blog/2025/04/ulp-lp-core-get-started/index.md
31
+
# Non-blog articles (workshops, events etc.)
32
+
hugo new content <path>/index.md
33
+
```
34
+
35
+
See also the official Hugo [docs](https://gohugo.io/getting-started/quick-start/#add-content).
36
+
37
+
The commands above assume that you want to organize the content as a leaf bundle (a single article). For multi-article entries (workshops, etc.), use the [branch bundle](https://gohugo.io/content-management/page-bundles/#comparison).
38
+
39
+
To view the changes, in your project folder run
36
40
```sh
37
41
hugo server
38
42
```
39
43
40
-
### Add youself as an author
44
+
### Fill out the blog article header
41
45
42
-
The default Espressif author is used:
46
+
After creating a blog article using `hugo new content blog/...`, go to your article file `index.md` and fill out its YAML header according to the instructions in comments.
43
47
44
-
- If the author prefers to stay anonymous
45
-
- For posts generated by scripts, such as automatic compilations, release notes, and so on
46
-
- For articles generated with AI
48
+
One of the YAML header parameters is _summary_ --- the article summary that appears just below the article title ([summary example](../../../blog/2025/04/soft-ap-tutorial/"under-title summary example")) and also in the article card ([card example](../../../blog/"card summary example")) where articles are listed. On how to write the article summary, check the additional guidelines below.
47
49
48
-
In other cases, add yourself as an author. For this, do the following:
50
+
#### Write an article summary
49
51
50
-
- Create your author entry
51
-
- At `content/authors/<author-name>/_index.md`, create your page
52
-
- At `data/authors/<author-name>.json`, add your personal data
52
+
Before you begin writing your article, it is a good exercise to summarize in one paragraph:
53
53
54
-
- Add the following to your article's YAML header
54
+
1. The **main topic** of your article (1 or 2 sentences).
55
+
2. What **value** it brings to the reader (1 or 2 sentences).
55
56
56
-
```yaml
57
-
showAuthor: false # Hide default Espressif author
58
-
authors:
59
-
- "<author-name>"# List your name(s)
60
-
```
57
+
{{< alert icon="eye" >}}
58
+
Don't include links in summaries as they are not supported by design. Also, avoid formatting text as it doesn't look good in general.
59
+
{{< /alert >}}
60
+
61
+
This exercise might help you better understand how to structure and write your content. It will also help readers decide if they want to read your article as well as to set expectations.
62
+
63
+
After you finish writing, revisit your summary to see if it needs any adjustments. You might be surprised by how the focus of your writing can shift during the process without you realizing it.
64
+
65
+
#### Add youself as an author
66
+
67
+
The default Espressif author is used:
68
+
69
+
- If the author prefers to stay anonymous
70
+
- For posts generated by scripts, such as automatic compilations, release notes, and so on
71
+
- For articles generated with AI
61
72
73
+
In other cases, add yourself as an author. For this, follow the instructions in the article's YAML header.
62
74
63
75
## Write the content
64
76
@@ -197,7 +209,7 @@ Some explanations:
197
209
198
210
For a real example, see this [page](../../../blog/build-embedded-swift-application-for-esp32c6/#building-an-example-project).
199
211
200
-
As you can see, the `tabs` shortcode has **the parameter** `groupId`. It creates association between all tabbed code blocks bearing the same `groupId` on a webpage. Once you choose a certain tab, all associated code blocks will switch to the same tab. It can be useful in tutorials covering multiple operating systems, programming lanugages, etc.
212
+
As you can see, the `tabs` shortcode has **the parameter** `groupId`. It creates association between all tabbed code blocks bearing the same `groupId` on a webpage. Once you choose a certain tab, all associated code blocks will switch to the same tab. It can be useful in tutorials covering multiple operating systems, programming languages, etc.
201
213
202
214
You can also easily **indent a tabbed code block**, by preceding the `tabs` and `tab` shortcodes with the required number of spaces. This is exactly what was [done][indented-tabbed-code-block] in the linked example above.
0 commit comments