craze 0.1.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE +21 -0
- data/README.md +206 -0
- data/Rakefile +12 -0
- data/assets/logo-header.svg +40 -0
- data/craze.gemspec +41 -0
- data/exe/craze +6 -0
- data/lib/craze/cli/build.rb +65 -0
- data/lib/craze/cli/clean.rb +26 -0
- data/lib/craze/cli/dev.rb +83 -0
- data/lib/craze/cli/doctor.rb +124 -0
- data/lib/craze/cli/init.rb +308 -0
- data/lib/craze/cli.rb +51 -0
- data/lib/craze/config.rb +69 -0
- data/lib/craze/content/page.rb +57 -0
- data/lib/craze/content/parser.rb +49 -0
- data/lib/craze/content.rb +9 -0
- data/lib/craze/integrations/base.rb +33 -0
- data/lib/craze/integrations/rss.rb +73 -0
- data/lib/craze/integrations/search_index.rb +33 -0
- data/lib/craze/integrations/sitemap.rb +48 -0
- data/lib/craze/integrations/vite_assets.rb +33 -0
- data/lib/craze/integrations.rb +22 -0
- data/lib/craze/pipeline.rb +154 -0
- data/lib/craze/site_graph/builder.rb +103 -0
- data/lib/craze/site_graph/collection.rb +37 -0
- data/lib/craze/site_graph/router.rb +50 -0
- data/lib/craze/site_graph.rb +10 -0
- data/lib/craze/template/context.rb +27 -0
- data/lib/craze/template/helpers.rb +83 -0
- data/lib/craze/template/renderer.rb +67 -0
- data/lib/craze/template.rb +10 -0
- data/lib/craze/version.rb +5 -0
- data/lib/craze.rb +14 -0
- data/site/assets/site.css +359 -0
- data/site/assets/site.js +3 -0
- data/site/content/index.md +108 -0
- data/site/craze.yml +20 -0
- data/site/templates/layouts/default.html.erb +40 -0
- metadata +156 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Modern Ruby SSG for GitHub Pages"
|
|
3
|
+
layout: default
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<section class="hero container">
|
|
7
|
+
<div class="hero-content">
|
|
8
|
+
<span class="pill reveal" style="animation-delay: 100ms;">Ruby-first. Frontend-ready.</span>
|
|
9
|
+
<h1 class="reveal" style="animation-delay: 180ms;">A modern GitHub Pages site, generated by Craze.</h1>
|
|
10
|
+
<p class="lead reveal" style="animation-delay: 260ms;">
|
|
11
|
+
Build a fast, elegant landing page with Ruby, ERB, and Markdown. Plug in Vite if you want, or ship with
|
|
12
|
+
simple assets. Deploy automatically with GitHub Actions.
|
|
13
|
+
</p>
|
|
14
|
+
<div class="actions reveal" style="animation-delay: 340ms;">
|
|
15
|
+
<a class="button primary" href="#cta">Launch Your Page</a>
|
|
16
|
+
<a class="button ghost" href="https://github.com/ydah/craze">View on GitHub</a>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="hero-stats reveal" style="animation-delay: 420ms;">
|
|
19
|
+
<div>
|
|
20
|
+
<div class="stat">Ruby 3.2+</div>
|
|
21
|
+
<div class="muted">Modern toolchain</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div>
|
|
24
|
+
<div class="stat">Zero JS required</div>
|
|
25
|
+
<div class="muted">Optional Vite</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div>
|
|
28
|
+
<div class="stat">GitHub Pages</div>
|
|
29
|
+
<div class="muted">Auto deploy</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="hero-card reveal" style="animation-delay: 300ms;">
|
|
34
|
+
<div class="card-top">
|
|
35
|
+
<span>craze build</span>
|
|
36
|
+
<span class="dot"></span>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="card-body">
|
|
39
|
+
<p class="code">-> dist/index.html</p>
|
|
40
|
+
<p class="code">-> dist/assets/site.css</p>
|
|
41
|
+
<p class="code">-> dist/assets/site.js</p>
|
|
42
|
+
<p class="muted">Deploy straight to Pages.</p>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</section>
|
|
46
|
+
|
|
47
|
+
<section id="features" class="section container">
|
|
48
|
+
<div class="section-head reveal" style="animation-delay: 120ms;">
|
|
49
|
+
<h2>Design-forward, not template-forward.</h2>
|
|
50
|
+
<p class="muted">A landing page that feels crafted, not cloned.</p>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="grid">
|
|
53
|
+
<div class="card reveal" style="animation-delay: 200ms;">
|
|
54
|
+
<h3>Layout that breathes</h3>
|
|
55
|
+
<p>Balanced spacing, layered gradients, and intentional type create a premium presence.</p>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="card reveal" style="animation-delay: 260ms;">
|
|
58
|
+
<h3>Ruby-first workflow</h3>
|
|
59
|
+
<p>Write content in Markdown, render with ERB, and keep build logic in Ruby.</p>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="card reveal" style="animation-delay: 320ms;">
|
|
62
|
+
<h3>Deployment built-in</h3>
|
|
63
|
+
<p>GitHub Actions builds your site and publishes to Pages automatically.</p>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</section>
|
|
67
|
+
|
|
68
|
+
<section id="workflow" class="section container split">
|
|
69
|
+
<div class="split-text reveal" style="animation-delay: 120ms;">
|
|
70
|
+
<h2>From repo to Pages in minutes.</h2>
|
|
71
|
+
<p>
|
|
72
|
+
The repo includes a Craze-powered site folder. Edit the content, run the build, and the Actions workflow
|
|
73
|
+
does the rest. No static-site gymnastics required.
|
|
74
|
+
</p>
|
|
75
|
+
<ul class="list">
|
|
76
|
+
<li><span>1</span> Customize content in <code>site/content</code></li>
|
|
77
|
+
<li><span>2</span> Tweak layout in <code>site/templates</code></li>
|
|
78
|
+
<li><span>3</span> Push to <code>main</code> to deploy</li>
|
|
79
|
+
</ul>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="split-card reveal" style="animation-delay: 240ms;">
|
|
82
|
+
<div class="workflow">
|
|
83
|
+
<div class="step">
|
|
84
|
+
<div class="label">Build</div>
|
|
85
|
+
<div class="detail">bundle exec craze build</div>
|
|
86
|
+
</div>
|
|
87
|
+
<div class="step">
|
|
88
|
+
<div class="label">Upload</div>
|
|
89
|
+
<div class="detail">GitHub Actions</div>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="step">
|
|
92
|
+
<div class="label">Publish</div>
|
|
93
|
+
<div class="detail">gh-pages</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</section>
|
|
98
|
+
|
|
99
|
+
<section id="cta" class="section container cta">
|
|
100
|
+
<div class="cta-inner reveal" style="animation-delay: 140ms;">
|
|
101
|
+
<h2>Make your GitHub Pages site look intentional.</h2>
|
|
102
|
+
<p>Clone the repo, edit one file, ship a modern landing page in Ruby.</p>
|
|
103
|
+
<div class="actions">
|
|
104
|
+
<a class="button primary" href="https://github.com/ydah/craze">Get the Code</a>
|
|
105
|
+
<a class="button ghost" href="https://github.com/ydah/craze#quick-start">Quick Start</a>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</section>
|
data/site/craze.yml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
site:
|
|
2
|
+
title: "Craze"
|
|
3
|
+
url: "https://ydah.github.io/craze"
|
|
4
|
+
language: "en"
|
|
5
|
+
|
|
6
|
+
build:
|
|
7
|
+
out_dir: "dist"
|
|
8
|
+
base_path: "/craze"
|
|
9
|
+
clean: true
|
|
10
|
+
|
|
11
|
+
content:
|
|
12
|
+
dir: "content"
|
|
13
|
+
|
|
14
|
+
templates:
|
|
15
|
+
dir: "templates"
|
|
16
|
+
|
|
17
|
+
assets:
|
|
18
|
+
dir: "assets"
|
|
19
|
+
|
|
20
|
+
integrations: []
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="<%= site["language"] || "en" %>">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title><%= page["title"] %> | <%= site["title"] %></title>
|
|
7
|
+
<meta name="description" content="A modern Ruby static site generator with Vite/Tailwind integration.">
|
|
8
|
+
<meta name="theme-color" content="#0b0b0f">
|
|
9
|
+
<link rel="stylesheet" href="<%= asset_path("site.css") %>">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div class="bg-grid"></div>
|
|
13
|
+
<div class="glow glow-a"></div>
|
|
14
|
+
<div class="glow glow-b"></div>
|
|
15
|
+
|
|
16
|
+
<header class="site-header">
|
|
17
|
+
<div class="container">
|
|
18
|
+
<div class="logo">Craze</div>
|
|
19
|
+
<nav class="nav">
|
|
20
|
+
<a href="#features">Features</a>
|
|
21
|
+
<a href="#workflow">Workflow</a>
|
|
22
|
+
<a href="#cta">Get Started</a>
|
|
23
|
+
</nav>
|
|
24
|
+
<a class="button ghost" href="https://github.com/ydah/craze">GitHub</a>
|
|
25
|
+
</div>
|
|
26
|
+
</header>
|
|
27
|
+
|
|
28
|
+
<main>
|
|
29
|
+
<%= page["content"] %>
|
|
30
|
+
</main>
|
|
31
|
+
|
|
32
|
+
<footer class="site-footer">
|
|
33
|
+
<div class="container">
|
|
34
|
+
<p>Built with Craze. Deployed on GitHub Pages.</p>
|
|
35
|
+
<p class="muted">(c) <%= Time.now.year %> Craze.</p>
|
|
36
|
+
</div>
|
|
37
|
+
</footer>
|
|
38
|
+
<script src="<%= asset_path("site.js") %>"></script>
|
|
39
|
+
</body>
|
|
40
|
+
</html>
|
metadata
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: craze
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Yudai Takada
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: commonmarker
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: 2.6.1
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: 2.6.1
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: listen
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '3.9'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '3.9'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: logger
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '1.6'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '1.6'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: thor
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '1.3'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '1.3'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: webrick
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '1.8'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '1.8'
|
|
82
|
+
description: |-
|
|
83
|
+
Craze is a modern static site generator with Vite/Tailwind integration,
|
|
84
|
+
incremental builds, and extensible integrations.
|
|
85
|
+
email:
|
|
86
|
+
- t.yudai92@gmail.com
|
|
87
|
+
executables:
|
|
88
|
+
- craze
|
|
89
|
+
extensions: []
|
|
90
|
+
extra_rdoc_files: []
|
|
91
|
+
files:
|
|
92
|
+
- CHANGELOG.md
|
|
93
|
+
- LICENSE
|
|
94
|
+
- README.md
|
|
95
|
+
- Rakefile
|
|
96
|
+
- assets/logo-header.svg
|
|
97
|
+
- craze.gemspec
|
|
98
|
+
- exe/craze
|
|
99
|
+
- lib/craze.rb
|
|
100
|
+
- lib/craze/cli.rb
|
|
101
|
+
- lib/craze/cli/build.rb
|
|
102
|
+
- lib/craze/cli/clean.rb
|
|
103
|
+
- lib/craze/cli/dev.rb
|
|
104
|
+
- lib/craze/cli/doctor.rb
|
|
105
|
+
- lib/craze/cli/init.rb
|
|
106
|
+
- lib/craze/config.rb
|
|
107
|
+
- lib/craze/content.rb
|
|
108
|
+
- lib/craze/content/page.rb
|
|
109
|
+
- lib/craze/content/parser.rb
|
|
110
|
+
- lib/craze/integrations.rb
|
|
111
|
+
- lib/craze/integrations/base.rb
|
|
112
|
+
- lib/craze/integrations/rss.rb
|
|
113
|
+
- lib/craze/integrations/search_index.rb
|
|
114
|
+
- lib/craze/integrations/sitemap.rb
|
|
115
|
+
- lib/craze/integrations/vite_assets.rb
|
|
116
|
+
- lib/craze/pipeline.rb
|
|
117
|
+
- lib/craze/site_graph.rb
|
|
118
|
+
- lib/craze/site_graph/builder.rb
|
|
119
|
+
- lib/craze/site_graph/collection.rb
|
|
120
|
+
- lib/craze/site_graph/router.rb
|
|
121
|
+
- lib/craze/template.rb
|
|
122
|
+
- lib/craze/template/context.rb
|
|
123
|
+
- lib/craze/template/helpers.rb
|
|
124
|
+
- lib/craze/template/renderer.rb
|
|
125
|
+
- lib/craze/version.rb
|
|
126
|
+
- site/assets/site.css
|
|
127
|
+
- site/assets/site.js
|
|
128
|
+
- site/content/index.md
|
|
129
|
+
- site/craze.yml
|
|
130
|
+
- site/templates/layouts/default.html.erb
|
|
131
|
+
homepage: https://github.com/ydah/craze
|
|
132
|
+
licenses:
|
|
133
|
+
- MIT
|
|
134
|
+
metadata:
|
|
135
|
+
homepage_uri: https://github.com/ydah/craze
|
|
136
|
+
source_code_uri: https://github.com/ydah/craze
|
|
137
|
+
changelog_uri: https://github.com/ydah/craze/blob/main/CHANGELOG.md
|
|
138
|
+
rubygems_mfa_required: 'true'
|
|
139
|
+
rdoc_options: []
|
|
140
|
+
require_paths:
|
|
141
|
+
- lib
|
|
142
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
143
|
+
requirements:
|
|
144
|
+
- - ">="
|
|
145
|
+
- !ruby/object:Gem::Version
|
|
146
|
+
version: 3.2.0
|
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
|
+
requirements:
|
|
149
|
+
- - ">="
|
|
150
|
+
- !ruby/object:Gem::Version
|
|
151
|
+
version: '0'
|
|
152
|
+
requirements: []
|
|
153
|
+
rubygems_version: 4.0.3
|
|
154
|
+
specification_version: 4
|
|
155
|
+
summary: A modern static site generator for Ruby
|
|
156
|
+
test_files: []
|