rails_build 1.0.0 → 2.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cd82bac7610eed4089c5be9667a685dea9ebd327
4
- data.tar.gz: 99110d59847285fad099e0769f333f49aded632f
2
+ SHA256:
3
+ metadata.gz: 2fdeb8b08b19d89fe8b117fa6113056fa1c7cc7df38b66780f043fc970cde7ab
4
+ data.tar.gz: dc3342b95ad179fd2da82f57c0c41cf296796b0b7ebc92ef5f8011415ccd08ab
5
5
  SHA512:
6
- metadata.gz: 4c4ddd3929c28ada377db4c57811e3934aaeeaae6e30e6fa920f158e5cd7c9bce2276111fbda6f15b23685658fe88cb107593d981e8bf4d0dd9788036eb9f8be
7
- data.tar.gz: e1203289ae526130f34645705cefc37edf2409065671bd591991084755eabe7e0aeb1a37838dc9d94bde6a9793d370163f24cce9ccac9843cf443322c2a55642
6
+ metadata.gz: 8c50a5d183280afadf89c695190d72fcfda5ed7cb4cfabd29c05acf4931749229d814c366e92f654935d3b4a4975f05c97e881717b3ca4713c91d30fa632dae6
7
+ data.tar.gz: ca443255a67532b1aa5a67edae2b5f745825b0a7f0f94bacdb8cd0c5e553764a33568a36647ee823cb2a60542c224860bc7be236ec834d457dc32e16a6f7aedd
data/LICENSE ADDED
@@ -0,0 +1 @@
1
+ Ruby
data/README.md CHANGED
@@ -1,179 +1,125 @@
1
- # RailsBuild
1
+ # TL;DR;
2
2
 
3
- A very small, very simple, very fast, and bullet proof static site generator
4
- built as a Rails 5 engine.
3
+ - install
5
4
 
5
+ ```sh
6
6
 
7
+ echo 'gem "raild_build"' >> Gemfile
7
8
 
8
- ## How It Works
9
+ bundle
9
10
 
10
- RailsBuild bundles all your assets, public directory, and configured urls into
11
- a static site suitable for deployment to Netlify, Amazon S3, or your favorite
12
- static website hosting solution. It does this by:
11
+ ```
13
12
 
14
- - Booting your application in *production* mode
15
- - Precompiling all assets
16
- - Including every static resource in ./public/
17
- - GET'ing every configured url via super fast parallel downloading
13
+ - setup
18
14
 
19
- RailsBuild let's you leverage the entire Rails' ecosystem for your static
20
- sites and requires learning practically no new techniques to make super fast
21
- building static websites.
15
+ ```sh
22
16
 
17
+ rails_build --init
23
18
 
19
+ ```
24
20
 
25
- ## Configuration
21
+ - build
26
22
 
27
- Configuration is quite simple, typically it will be much less than comparable
28
- static site generators. You need to drop a *./config/rails_build.rb* looking
29
- something like this into your app:
23
+ ```sh
30
24
 
31
- ```ruby
32
-
33
- RailsBuild.configure do |rails_build|
34
-
35
- urls = rails_build.urls
36
-
37
- urls << "/"
38
-
39
- urls << "/about/"
40
-
41
- urls << "/contact/"
42
-
43
-
44
- Post.each do |post|
45
- urls << blog_path(post)
46
- end
47
-
48
- end
49
-
50
-
51
- ```
52
-
53
- That's it: simply enumerate the urls - anything additional to your assets and
54
- ./public/ directory - that you want to include in your build.
55
-
56
- ## On Trailing Slashes
57
-
58
- Most static hosting solutions support Apache style directory indexing will be
59
- better behaved with urls that look like
60
-
61
- ```markdown
62
-
63
- http://my.site.com/blog/
64
-
65
- ```
66
-
67
- vs.
68
-
69
- ```markdown
70
-
71
- http://my.site.com/blog
72
-
73
- ```
74
-
75
- RailsBuild tries to help you do this with a little bit of Rails' config that
76
- is turned on by default but which can be turned off via
25
+ rails_build
77
26
 
78
- ```ruby
79
-
80
- RailsBuild.configure do |rails_build|
81
-
82
- rails_build.trailing_slash false # the default is 'true'
83
-
84
- end
85
-
86
- ```
27
+ ```
87
28
 
88
- The only real impact will be felt if you are using relative urls in your site
89
- like './about' vs. '../about'
29
+ - deploy?
90
30
 
31
+ the contents of ./build/ are good to deploy to *any* static web host
32
+ including netlify, vercel, an s3 bucket, or simply your app's own ./public
33
+ directory in order to 'pre-cache' a ton of pages
91
34
 
35
+ ps. if you want to preview your local static ./build i *highly* recommend
92
36
 
93
- ## Optimization and Notes
37
+ https://github.com/copiousfreetime/launchy
94
38
 
95
39
 
96
- RailsBuild is fast. Very fast. [DOJO4](http://dojo4.com) has seen optimized [Middleman](https://middlemanapp.com/) builds of > 30 minutes dropped to *60 seconds* by simply making basic use of Rails' built-in caching facilites.
97
-
98
- When trying to squeeze out performance just remember that RailsBuild runs in
99
- production mode and, therefore, making a build go fast follows the *exact same
100
- rules* as making anything other Rails' application fast. The first place to
101
- reach is typically fragment caching of partials used in your app.
102
-
103
- Finally, don't forget about *./config/initializers/assets.rb* - RailsBuild
104
- doesn't do anything special to the asset pipeline and only those assets
105
- normally built when
106
-
107
- ```bash
108
-
109
- ~> rake assets:precompile
110
-
111
- ```
112
-
113
- is run will be included in the build.
40
+ # ABOUT
114
41
 
42
+ rails_build is a very small, fast enough, static site generator built on top
43
+ of the rails you already know and love.
115
44
 
45
+ it's been in production usage for close to a decade but i've been too busy
46
+ to relase it until now. also, #wtf is up with javascript land?!
116
47
 
117
- ## Installation
118
-
119
- Add this line to your application's Gemfile:
48
+ it has a small set of dependencies, namely the `parallel` gem, and requires
49
+ absolutely minimal configuration. it should be pretty darn self
50
+ explanatory:
120
51
 
121
52
  ```ruby
122
53
 
123
- gem 'rails_build'
124
-
125
-
126
- ```
54
+ # file : ./config/rails_build.rb
127
55
 
128
- And then execute:
56
+ <<~________
129
57
 
130
- ```bash
58
+ this file should to enumerate all the urls you'd like to build
131
59
 
132
- $ bundle
60
+ the contents of your ./public directory, and any assets, are automaticaly
61
+ included
133
62
 
134
- $ bundle binstubs rails_build
135
-
136
-
137
- ```
63
+ therefore you need only declare which dynamic urls, that is to say, 'routes'
138
64
 
65
+ you would like included in your build
139
66
 
67
+ it is not loaded except during build time, and will not affect your normal
68
+ rails app in any way
140
69
 
141
- ## Building Your Site
70
+ ________
142
71
 
143
72
 
144
- After installation and configuration simply run
73
+ RailsBuild.configure do |config|
145
74
 
146
- ```bash
75
+ # most of the time you are going to want your route included, which will
76
+ # translate into an ./index.html being output in the build
77
+ #
147
78
 
148
- ~> ./bin/rails_build
79
+ config.urls << '/'
149
80
 
81
+ # include any/all additional routes youd' like built thusly
82
+ #
150
83
 
151
- # or, if you prefer, simply
84
+ Post.each do |post|
85
+ config.urls << "/posts/#{ post.id }"
86
+ end
152
87
 
153
- ~> rails build
88
+ # thats it! - now just run `rails_build` and you are GTG
154
89
 
90
+ end
155
91
 
156
92
  ```
157
93
 
94
+ # MOTIVATION
158
95
 
96
+ why another static site builder? why not hugo or, the
97
+ other-soon-to-be-released-blazing-fast-one-i-am-building-on Roda?
159
98
 
160
- ## Netlfiy
99
+ because:
161
100
 
162
- We love Netlify at [DOJO4](http://dojo4.com). RailsBuild works with netlify
163
- out of the box and simply requires
101
+ - there are a lot of Rails apps
102
+ - nothing is as fast as static
103
+ - Rails has no facility to 'pre-render' routes on deployment
164
104
 
165
- ```yaml
105
+ so, you can use this tool to leverage the code and the app you already have,
106
+ and/or to utilize the entire Rails ecosystem, it's docs and gems, to build
107
+ sophisticated sites without needing to learn yet another framework.
166
108
 
167
- build_command : rails_build
109
+ # HOW IT WORKS
168
110
 
169
- build_directory: build
111
+ as always, docs are worthless and Ruby is beautiful, so #RTFC ->
170
112
 
171
- ```
113
+ https://github.com/ahoward/rails_build/blob/main/bin/rails_build
172
114
 
173
- to be configured as the build command and directory respectively.
174
115
 
116
+ # LICENSE
175
117
 
118
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
176
119
 
177
- ## License
120
+ # AI _boo_
178
121
 
179
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
122
+ Any and all usage, in any way, shape, or form, in prohibited by any AI
123
+ application, or LLM. This includes indexing, knowing about, training on, or
124
+ existing inside a commercial LLM or training data set. Iff (and *only* if)
125
+ your LLM is OSS, please contact me directly before including this source.