Skip to content

Commit ee28d9a

Browse files
authored
Merge pull request #138 from michelleN/blog
community blog
2 parents 6edbea5 + 9ac005a commit ee28d9a

25 files changed

+13631
-6454
lines changed

config/site.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title = "Spin Docs"
22
base_url = ""
33
about = "Spin is an open-source multi-language framework and CLI for building and deploying WebAssembly apps."
4-
index_site_pages = ["sitemap", "home", "changelog", "hub_list_api"]
4+
index_site_pages = ["sitemap", "home", "changelog", "hub_list_api", "main", "blog_index"]
55
prepend_route_info = true
66

77
[extra]
@@ -13,3 +13,6 @@ twitter = "https://twitter.com/spinframework"
1313
favicon = "/static/image/icon/favicon.png"
1414
twitter_card_type = "summary"
1515
twitter_card = "/static/image/twitter_card_summary.png"
16+
17+
# Misc variable
18+
blog_pagition_offset = "17" # Used to control the numer of posts per page in blog list

content/blog/hello.md

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
title = "Hello World"
2+
date = "2025-10-30T12:00:00Z"
3+
template = "blog_post"
4+
description = "This is a hello world blog post with example contents and formatting references."
5+
6+
[extra]
7+
author = "Michelle Dhanani"
8+
type = "post"
9+
10+
---
11+
12+
This is the beginning of our community blog. Welcome to the Spin Framework Community! This introductory paragraph demonstrates how body text appears with our new Medium-inspired typography. The comfortable 18px font size and 1.58 line height create an optimal reading experience.
13+
14+
Typography is the craft of endowing human language with a durable visual form. When done well, it enhances the reading experience without drawing attention to itself. Our new blog layout emphasizes readability through thoughtful spacing, appropriate font sizes, and a narrow reading pane that prevents eye strain.
15+
16+
## Understanding Typography Fundamentals
17+
18+
Good typography serves the content. It's not about making things look "designed" but about creating a seamless reading experience. The key principles include proper hierarchy, consistent spacing, and appropriate line length. Research suggests that lines between 50-75 characters are optimal for reading comfort.
19+
20+
### The Importance of Hierarchy
21+
22+
Headings establish visual hierarchy and help readers scan content quickly. Notice how this H3 heading is smaller than the H2 above, creating a clear content structure. Each level should be visually distinct but harmonious with the overall design.
23+
24+
#### Fourth Level Headings
25+
26+
Even at the fourth level, headings maintain the typographic rhythm. They're smaller still, but remain bold and clear, guiding readers through nested sections of content.
27+
28+
## Working with Lists
29+
30+
Lists are essential for organizing information. Here's an unordered list demonstrating proper spacing and readability:
31+
32+
- **WebAssembly** enables running compiled code at near-native speed in web browsers
33+
- **Spin Framework** provides a lightweight runtime for building and deploying WebAssembly applications
34+
- **Component Model** standardizes how WebAssembly modules communicate and share functionality
35+
- **WASI** (WebAssembly System Interface) allows Wasm to interact with system resources safely
36+
37+
Ordered lists work equally well for sequential information:
38+
39+
1. First, install the Spin CLI on your development machine
40+
2. Create a new Spin application using `spin new`
41+
3. Write your application logic in your preferred language
42+
4. Build the application with `spin build`
43+
5. Deploy locally with `spin up` or to Fermyon Cloud
44+
45+
Nested lists maintain proper indentation:
46+
47+
- Backend technologies
48+
- Go provides excellent performance for system-level programming
49+
- Rust ensures memory safety without garbage collection
50+
- Python offers rapid development and extensive libraries
51+
- Frontend frameworks
52+
- Vue.js for progressive web applications
53+
- React for component-based UIs
54+
- Svelte for compiled, lightweight applications
55+
56+
## Code Examples
57+
58+
Inline code like `spin build` or `const greeting = "Hello World"` integrates seamlessly with body text. For longer examples, code blocks provide syntax highlighting:
59+
60+
```rust
61+
use spin_sdk::{
62+
http::{Request, Response},
63+
http_component,
64+
};
65+
66+
#[http_component]
67+
fn handle_request(req: Request) -> Response {
68+
Response::builder()
69+
.status(200)
70+
.header("content-type", "text/plain")
71+
.body("Hello, World!")
72+
.build()
73+
}
74+
```
75+
76+
Here's a JavaScript example:
77+
78+
```javascript
79+
async function fetchData(url) {
80+
try {
81+
const response = await fetch(url);
82+
const data = await response.json();
83+
return data;
84+
} catch (error) {
85+
console.error('Error fetching data:', error);
86+
throw error;
87+
}
88+
}
89+
```
90+
91+
And a command-line example:
92+
93+
```bash
94+
# Install Spin
95+
curl -fsSL https://developer.fermyon.com/downloads/install.sh | bash
96+
97+
# Create a new application
98+
spin new http-rust my-app
99+
cd my-app
100+
101+
# Build and run
102+
spin build
103+
spin up
104+
```
105+
106+
## Blockquotes for Emphasis
107+
108+
Blockquotes highlight important information or quotations:
109+
110+
> The best way to predict the future is to invent it. This principle applies perfectly to WebAssembly and the Spin Framework—we're not just waiting for the future of serverless, we're building it today.
111+
112+
Longer blockquotes maintain readability:
113+
114+
> Typography exists to honor content. When text is beautifully presented, readers engage more deeply with ideas. The Medium platform understood this intuitively, creating a reading experience that prioritized comfort and clarity over flashy design. Our blog adopts these same principles.
115+
116+
## Links and References
117+
118+
Links should be [clearly marked and understandable](https://developer.fermyon.com) in context. Learn more about [Spin Framework](https://github.com/fermyon/spin) or explore the [WebAssembly specification](https://webassembly.org/).
119+
120+
## Emphasis and Strong Text
121+
122+
Use *italic emphasis* for subtle highlighting and **bold text** for stronger emphasis. Combine them ***sparingly*** for maximum impact. The key is restraint—too much emphasis dilutes its effectiveness.
123+
124+
## Tables for Data
125+
126+
| Language | Spin Support | Compile Target | Use Case |
127+
|----------|--------------|----------------|----------|
128+
| Rust | Excellent | wasm32-wasi | Systems programming, high performance |
129+
| Go | Good | wasm32-wasi | Network services, APIs |
130+
| JavaScript | Good | SpiderMonkey | Familiar syntax, quick prototyping |
131+
| Python | Experimental | wasm32-wasi | Data processing, scripting |
132+
133+
## Horizontal Rules
134+
135+
Use horizontal rules sparingly to separate major sections:
136+
137+
---
138+
139+
## Images and Media
140+
141+
Images enhance content when used purposefully. They should support the narrative rather than distract from it. Captions provide context and attribution.
142+
143+
## Conclusion
144+
145+
Great typography isn't about following strict rules—it's about understanding principles and applying them thoughtfully. Our blog design prioritizes readability through careful attention to font size, line height, line length, and spacing. The result is a comfortable reading experience that lets the content shine.
146+
147+
Whether you're writing about WebAssembly, serverless computing, or web development, these typographic foundations ensure your message reaches readers clearly and effectively. Welcome to the Spin Framework community blog—we're excited to share ideas, tutorials, and insights with you.

content/blog/index.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
title = "Spin | Community Blog"
2+
template = "blog_index"
3+
date = "2022-04-01T00:00:00Z"
4+
description = "Read the latest Spin project updates. Spin is the open source tool for building and running Wasm apps."
5+
6+
[extra]
7+
author = "Spin Community"
8+
type = "index"
9+
10+
---

0 commit comments

Comments
 (0)