picocss-gem 0.2.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/README.md +216 -0
- data/lib/generators/picocss/install_generator.rb +13 -0
- data/lib/generators/picocss/install_theme_generator.rb +27 -0
- data/lib/generators/picocss/template_login_generator.rb +7 -0
- data/lib/generators/picocss/templates/login.html.erb +16 -0
- data/lib/generators/picocss/templates/pico.amber.min.css +3507 -0
- data/lib/generators/picocss/templates/pico.blue.min.css +3507 -0
- data/lib/generators/picocss/templates/pico.cyan.min.css +3507 -0
- data/lib/generators/picocss/templates/pico.fuchsia.min.css +3506 -0
- data/lib/generators/picocss/templates/pico.green.min.css +3507 -0
- data/lib/generators/picocss/templates/pico.grey.min.css +3507 -0
- data/lib/generators/picocss/templates/pico.indigo.min.css +3506 -0
- data/lib/generators/picocss/templates/pico.jade.min.css +3506 -0
- data/lib/generators/picocss/templates/pico.lime.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.min.css +3512 -0
- data/lib/generators/picocss/templates/pico.orange.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.pink.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.pumpkin.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.purple.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.red.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.sand.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.slate.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.violet.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.yellow.min.css +3118 -0
- data/lib/generators/picocss/templates/pico.zinc.min.css +3118 -0
- data/lib/picocss/bridgetown.rb +17 -0
- data/lib/picocss/gem.rb +10 -0
- data/lib/picocss/railtie.rb +9 -0
- data/lib/picocss/sinatra.rb +10 -0
- data/lib/picocss/version.rb +5 -0
- data/lib/picocss.rb +19 -0
- data/vendor/assets/stylesheets/pico.amber.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.blue.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.cyan.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.fuchsia.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.green.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.grey.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.indigo.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.jade.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.lime.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.orange.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.pink.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.pumpkin.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.purple.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.red.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.sand.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.slate.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.violet.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.yellow.min.css +3118 -0
- data/vendor/assets/stylesheets/pico.zinc.min.css +3118 -0
- metadata +151 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: bdc5596e1b796ab6beb8b257769420e87ea36558ca4ef8a71ced9130d5fb6e6c
|
|
4
|
+
data.tar.gz: c350df790bb85be1c22397df827b1a41f607e00656be4f0568918fd6f029137a
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 7c0b063bc33c5e641b15e54b7c18c2bab46d6b6ffb85a66ea211e845b148709bfd042b209c0e5aaa694b1899c026cb5e3e118b7987c4bbbf37212d63e9866a4e
|
|
7
|
+
data.tar.gz: fa0efc58145a85392b4c33d53d9fa0dc4259f02d13211d2757806705b9f4c8693999e234570c25905a97e344c685dcc3f08a167312337834d51dc698c0644f79
|
data/README.md
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# Picocss::Gem
|
|
2
|
+
|
|
3
|
+
`picocss-gem` is a **Ruby gem** that integrates [PicoCSS](https://picocss.com) into Ruby applications.
|
|
4
|
+
It works with **Rails**, **Bridgetown**, and **Sinatra**, providing:
|
|
5
|
+
|
|
6
|
+
* Automatic inclusion of PicoCSS assets
|
|
7
|
+
* Rails generators (base + theme + login template)
|
|
8
|
+
* Multi-framework support for Ruby apps
|
|
9
|
+
|
|
10
|
+
> Documentation also available in Portuguese: [PortuguΓͺs](./README.pt-BR.md)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## π Features
|
|
15
|
+
|
|
16
|
+
* β
Rails, Sinatra, and Bridgetown support
|
|
17
|
+
* β
PicoCSS included and ready for production
|
|
18
|
+
* β
Easy setup and integration
|
|
19
|
+
* β
Generators for Rails (`bin/rails generate picocss:install`)
|
|
20
|
+
* β
Theme generators (`bin/rails generate picocss:install_<theme>`)
|
|
21
|
+
* β
Login template generator (`bin/rails generate picocss:template_login`)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## πΎ Installation
|
|
26
|
+
|
|
27
|
+
Add to your **Gemfile**:
|
|
28
|
+
|
|
29
|
+
```ruby
|
|
30
|
+
gem "picocss-gem", "~> 0.1.0"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then run:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
bundle install
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Or install directly:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
gem install picocss-gem
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## π οΈ Usage
|
|
48
|
+
|
|
49
|
+
### Rails
|
|
50
|
+
|
|
51
|
+
#### Default PicoCSS
|
|
52
|
+
|
|
53
|
+
1. Add PicoCSS to your layout:
|
|
54
|
+
|
|
55
|
+
```erb
|
|
56
|
+
<%= stylesheet_link_tag "pico.min", media: "all" %>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
2. Copy the CSS to your project:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
bin/rails generate picocss:install
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
3. Restart your server:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
rails server
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
#### π¨ Install a Theme
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
bin/rails generate picocss:install_<color>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
| Theme | Color |
|
|
80
|
+
| ------- | ----------------------------------------------------------------------------------------------------------- |
|
|
81
|
+
| red | <span style="background-color:red; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
82
|
+
| pink | <span style="background-color:pink; color:black; padding:2px 6px; border-radius:4px;">__</span> |
|
|
83
|
+
| fuchsia | <span style="background-color:fuchsia; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
84
|
+
| purple | <span style="background-color:purple; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
85
|
+
| violet | <span style="background-color:violet; color:black; padding:2px 6px; border-radius:4px;">__</span> |
|
|
86
|
+
| indigo | <span style="background-color:indigo; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
87
|
+
| blue | <span style="background-color:blue; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
88
|
+
| cyan | <span style="background-color:cyan; color:black; padding:2px 6px; border-radius:4px;">__</span> |
|
|
89
|
+
| jade | <span style="background-color:mediumseagreen; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
90
|
+
| green | <span style="background-color:green; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
91
|
+
| lime | <span style="background-color:lime; color:black; padding:2px 6px; border-radius:4px;">__</span> |
|
|
92
|
+
| yellow | <span style="background-color:yellow; color:black; padding:2px 6px; border-radius:4px;">__</span> |
|
|
93
|
+
| pumpkin | <span style="background-color:darkorange; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
94
|
+
| orange | <span style="background-color:orange; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
95
|
+
| sand | <span style="background-color:sandybrown; color:black; padding:2px 6px; border-radius:4px;">__</span> |
|
|
96
|
+
| grey | <span style="background-color:grey; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
97
|
+
| zinc | <span style="background-color:darkgray; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
98
|
+
| slate | <span style="background-color:slategray; color:white; padding:2px 6px; border-radius:4px;">__</span> |
|
|
99
|
+
|
|
100
|
+
Example:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
bin/rails generate picocss:install_blue
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
#### π€ Login Template Generator
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
bin/rails generate picocss:template_login
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
This will copy the login template to:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
app/views/sessions/new.html.erb
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Template highlights:
|
|
121
|
+
|
|
122
|
+
* Centered form with vertical alignment
|
|
123
|
+
* Fields: Email, Password, "Remember me" checkbox
|
|
124
|
+
* Dark background with contrasting buttons
|
|
125
|
+
* Fully responsive container
|
|
126
|
+
|
|
127
|
+
```erb
|
|
128
|
+
<main class="container" style="background-color:#111; height:100vh; display:flex; justify-content:center; align-items:center;">
|
|
129
|
+
<form method="post" action="/login" style="width:300px;">
|
|
130
|
+
<h1 style="color:white;">Login</h1>
|
|
131
|
+
<label>Email</label>
|
|
132
|
+
<input type="email" required>
|
|
133
|
+
<label>Password</label>
|
|
134
|
+
<input type="password" required>
|
|
135
|
+
<div>
|
|
136
|
+
<input type="checkbox">
|
|
137
|
+
<label>Remember me</label>
|
|
138
|
+
</div>
|
|
139
|
+
<button type="submit">Login</button>
|
|
140
|
+
</form>
|
|
141
|
+
</main>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### Sinatra
|
|
147
|
+
|
|
148
|
+
```ruby
|
|
149
|
+
require "sinatra"
|
|
150
|
+
require "picocss"
|
|
151
|
+
|
|
152
|
+
register Picocss::Sinatra
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
```html
|
|
156
|
+
<link rel="stylesheet" href="/assets/stylesheets/pico.min.css" />
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
ruby app.rb
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Bridgetown
|
|
166
|
+
|
|
167
|
+
```ruby
|
|
168
|
+
gem "picocss-gem", "~> 0.1.0"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
CSS Copy automatically to:
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
output/assets/css/pico.min.css
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Include in layout:
|
|
178
|
+
|
|
179
|
+
```html
|
|
180
|
+
<link rel="stylesheet" href="/assets/css/pico.min.css" />
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Build and serve:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
bridgetown build
|
|
187
|
+
bridgetown serve
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## β‘ Generators Summary
|
|
193
|
+
|
|
194
|
+
| Command | Description |
|
|
195
|
+
| -------------------------------------------- | ---------------------------------------------- |
|
|
196
|
+
| `bin/rails generate picocss:install` | Copy `pico.min.css` |
|
|
197
|
+
| `bin/rails generate picocss:install_<theme>` | Copy a themed CSS (e.g. `pico.blue.min.css`) |
|
|
198
|
+
| `bin/rails generate picocss:template_login` | Copy login template |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## π§ͺ Development
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
bin/setup
|
|
206
|
+
rake spec
|
|
207
|
+
bin/console
|
|
208
|
+
bundle exec rake install
|
|
209
|
+
bundle exec rake release
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## π License
|
|
215
|
+
|
|
216
|
+
MIT License. See [LICENSE](./LICENSE.txt)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require "rails/generators"
|
|
2
|
+
|
|
3
|
+
module Picocss
|
|
4
|
+
module Generators
|
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
|
6
|
+
source_root File.expand_path("templates", __dir__)
|
|
7
|
+
|
|
8
|
+
def copy_stylesheet
|
|
9
|
+
copy_file "pico.min.css", "app/assets/stylesheets/pico.min.css"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# lib/picocss/install_theme_generator.rb
|
|
2
|
+
|
|
3
|
+
module Picocss
|
|
4
|
+
module Generators
|
|
5
|
+
themes = %w[
|
|
6
|
+
red pink fuchsia purple violet indigo blue
|
|
7
|
+
cyan jade green lime yellow amber pumpkin
|
|
8
|
+
orange sand grey zinc slate
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
themes.each do |color|
|
|
12
|
+
klass_name = "Install#{color.capitalize}Generator"
|
|
13
|
+
|
|
14
|
+
const_set(klass_name, Class.new(Rails::Generators::Base) do
|
|
15
|
+
source_root File.expand_path("templates", __dir__)
|
|
16
|
+
|
|
17
|
+
define_method(:copy_theme_file) do
|
|
18
|
+
theme_file = "pico.#{color}.min.css"
|
|
19
|
+
target_path = "app/assets/stylesheets/#{theme_file}"
|
|
20
|
+
copy_file theme_file, target_path
|
|
21
|
+
say "β
Tema '#{color}' instalado com sucesso!", :green
|
|
22
|
+
say "Adicione no layout: <%= stylesheet_link_tag '#{theme_file}' %>", :yellow
|
|
23
|
+
end
|
|
24
|
+
end)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<main class="container" style="background-color: #111; height: 100vh; display:flex; justify-content:center; align-items:center;">
|
|
2
|
+
<form method="post" action="/login" style="width:300px;">
|
|
3
|
+
<hgroup>
|
|
4
|
+
<h1 style="color:white;">Login</h1>
|
|
5
|
+
</hgroup>
|
|
6
|
+
<label for="email" style="color:white;">Email</label>
|
|
7
|
+
<input type="email" id="email" name="email" required>
|
|
8
|
+
<label for="password" style="color:white;">Senha</label>
|
|
9
|
+
<input type="password" id="password" name="password" required>
|
|
10
|
+
<div>
|
|
11
|
+
<input type="checkbox" id="remember" name="remember">
|
|
12
|
+
<label for="remember" style="color:white;">Lembrar-me</label>
|
|
13
|
+
</div>
|
|
14
|
+
<button type="submit" style="background:black; color:white; width:100%;">Entrar</button>
|
|
15
|
+
</form>
|
|
16
|
+
</main>
|