@terrymooreii/sia 2.1.5 → 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/_config.yml CHANGED
@@ -4,7 +4,9 @@ site:
4
4
  url: "http://localhost:3000"
5
5
  author: "Terry Moore II"
6
6
 
7
- theme: main
7
+ theme:
8
+ name: main
9
+ showHero: true
8
10
 
9
11
  input: src
10
12
  output: dist
package/bin/cli.js CHANGED
@@ -14,6 +14,7 @@ import { devCommand } from '../lib/server.js';
14
14
  import { buildCommand } from '../lib/build.js';
15
15
  import { newCommand } from '../lib/new.js';
16
16
  import { initCommand } from '../lib/init.js';
17
+ import { themeCommand } from '../lib/theme.js';
17
18
 
18
19
  program
19
20
  .name('sia')
@@ -47,5 +48,11 @@ program
47
48
  .option('-d, --draft', 'Save as draft (posts only)')
48
49
  .action(newCommand);
49
50
 
51
+ program
52
+ .command('theme <name>')
53
+ .description('Create a new Sia theme package')
54
+ .option('-q, --quick', 'Skip prompts and use defaults')
55
+ .action(themeCommand);
56
+
50
57
  program.parse();
51
58
 
package/docs/README.md ADDED
@@ -0,0 +1,135 @@
1
+ # Sia Documentation
2
+
3
+ Welcome to the Sia documentation. Sia is a simple, powerful static site generator built with JavaScript, featuring markdown content, Nunjucks templates, and multiple themes.
4
+
5
+ ## Documentation
6
+
7
+ | Guide | Description |
8
+ |-------|-------------|
9
+ | [Template Reference](template-reference.md) | Nunjucks variables, filters, and template syntax |
10
+ | [Markdown Guide](markdown-guide.md) | Markdown syntax and all supported plugins |
11
+ | [Front Matter Reference](front-matter.md) | YAML front matter options for posts, pages, and notes |
12
+ | [Creating Themes](creating-themes.md) | How to create and customize themes |
13
+
14
+ ## Quick Links
15
+
16
+ ### Getting Started
17
+
18
+ ```bash
19
+ # Install Sia globally
20
+ npm install -g @terrymooreii/sia
21
+
22
+ # Create a new site
23
+ sia init my-blog
24
+
25
+ # Start development server
26
+ cd my-blog
27
+ npm run dev
28
+ ```
29
+
30
+ ### Creating Content
31
+
32
+ ```bash
33
+ # Create a new blog post
34
+ npx sia new post "My Post Title"
35
+
36
+ # Create a new page
37
+ npx sia new page "About Me"
38
+
39
+ # Create a short note
40
+ npx sia new note "Quick thought"
41
+ ```
42
+
43
+ ### Building for Production
44
+
45
+ ```bash
46
+ npm run build
47
+ ```
48
+
49
+ ## Features Overview
50
+
51
+ - **Enhanced Markdown** - Syntax highlighting, emoji support, footnotes, alert boxes, auto-linkify, and more
52
+ - **Nunjucks Templates** - Flexible templating with includes, layouts, and custom filters
53
+ - **Multiple Content Types** - Blog posts, static pages, and notes (tweet-like short posts)
54
+ - **Tags & Categories** - Organize content with tags and auto-generated tag pages
55
+ - **Pagination** - Built-in pagination for listing pages
56
+ - **Image Support** - Automatic image copying and organization
57
+ - **Live Reload** - Development server with hot reloading
58
+ - **Multiple Themes** - Built-in themes (main, minimal, developer, magazine) with light/dark mode
59
+ - **Custom Theme Packages** - Create and share themes as npm packages (`sia-theme-*`)
60
+ - **RSS Feed** - Automatic RSS feed generation
61
+ - **SEO Ready** - Open Graph and Twitter Card meta tags included
62
+
63
+ ## Project Structure
64
+
65
+ ```
66
+ my-site/
67
+ ├── _config.yml # Site configuration
68
+ ├── src/
69
+ │ ├── posts/ # Blog posts (markdown)
70
+ │ ├── pages/ # Static pages
71
+ │ ├── notes/ # Short notes/tweets
72
+ │ └── images/ # Images
73
+ ├── _layouts/ # Custom layouts (optional)
74
+ ├── _includes/ # Custom includes (optional)
75
+ ├── styles/ # Custom CSS (optional)
76
+ └── dist/ # Generated output
77
+ ```
78
+
79
+ ## Configuration
80
+
81
+ Edit `_config.yml` to customize your site:
82
+
83
+ ```yaml
84
+ site:
85
+ title: "My Blog"
86
+ description: "A personal blog"
87
+ url: "https://example.com"
88
+ author: "Your Name"
89
+
90
+ theme:
91
+ name: main # Built-in: main, minimal, developer, magazine
92
+ # Or use external: my-theme (loads sia-theme-my-theme)
93
+
94
+ input: src
95
+ output: dist
96
+
97
+ collections:
98
+ posts:
99
+ path: posts
100
+ layout: post
101
+ permalink: /blog/:slug/
102
+ sortBy: date
103
+ sortOrder: desc
104
+ pages:
105
+ path: pages
106
+ layout: page
107
+ permalink: /:slug/
108
+ notes:
109
+ path: notes
110
+ layout: note
111
+ permalink: /notes/:slug/
112
+
113
+ pagination:
114
+ size: 10
115
+
116
+ server:
117
+ port: 3000
118
+ showDrafts: false
119
+ ```
120
+
121
+ ## CLI Commands
122
+
123
+ | Command | Description |
124
+ |---------|-------------|
125
+ | `sia init [directory]` | Create a new site |
126
+ | `sia dev` | Start development server with live reload |
127
+ | `sia build` | Build for production |
128
+ | `sia new post "Title"` | Create a new blog post |
129
+ | `sia new page "Title"` | Create a new page |
130
+ | `sia new note "Content"` | Create a new note |
131
+ | `sia theme <name>` | Create a new theme package |
132
+
133
+ ## License
134
+
135
+ MIT