rails_build 1.0.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
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.