0.0
No release in over 3 years
Easily use PicoCSS with Rails, Bridgetown, and Sinatra
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

>= 1.0, < 3.0
>= 7.0, < 9.0
>= 3.0, < 5.0
 Project Readme

Picocss::Gem

picocss-gem is a Ruby gem that integrates PicoCSS into Ruby applications. It works with Rails, Bridgetown, and Sinatra, providing:

  • Automatic inclusion of PicoCSS assets
  • Rails generators (base + theme + login template)
  • Multi-framework support for Ruby apps

Documentation also available in Portuguese: PortuguΓͺs


🌟 Features

  • βœ… Rails, Sinatra, and Bridgetown support
  • βœ… PicoCSS included and ready for production
  • βœ… Easy setup and integration
  • βœ… Generators for Rails (bin/rails generate picocss:install)
  • βœ… Theme generators (bin/rails generate picocss:install_<theme>)
  • βœ… Login template generator (bin/rails generate picocss:template_login)

πŸ’Ύ Installation

Add to your Gemfile:

gem "picocss-gem", "~> 0.1.0"

Then run:

bundle install

Or install directly:

gem install picocss-gem

πŸ› οΈ Usage

Rails

Default PicoCSS

  1. Add PicoCSS to your layout:
<%= stylesheet_link_tag "pico.min", media: "all" %>
  1. Copy the CSS to your project:
bin/rails generate picocss:install
  1. Restart your server:
rails server

🎨 Install a Theme

bin/rails generate picocss:install_<color>
Theme Color
red
pink
fuchsia
purple
violet
indigo
blue
cyan
jade
green
lime
yellow
pumpkin
orange
sand
grey
zinc
slate

Example:

bin/rails generate picocss:install_blue

πŸ‘€ Login Template Generator

bin/rails generate picocss:template_login

This will copy the login template to:

app/views/sessions/new.html.erb

Template highlights:

  • Centered form with vertical alignment
  • Fields: Email, Password, "Remember me" checkbox
  • Dark background with contrasting buttons
  • Fully responsive container
<main class="container" style="background-color:#111; height:100vh; display:flex; justify-content:center; align-items:center;">
  <form method="post" action="/login" style="width:300px;">
    <h1 style="color:white;">Login</h1>
    <label>Email</label>
    <input type="email" required>
    <label>Password</label>
    <input type="password" required>
    <div>
      <input type="checkbox">
      <label>Remember me</label>
    </div>
    <button type="submit">Login</button>
  </form>
</main>

Sinatra

require "sinatra"
require "picocss"

register Picocss::Sinatra
<link rel="stylesheet" href="/assets/stylesheets/pico.min.css" />
ruby app.rb

Bridgetown

gem "picocss-gem", "~> 0.1.0"

CSS Copy automatically to:

output/assets/css/pico.min.css

Include in layout:

<link rel="stylesheet" href="/assets/css/pico.min.css" />

Build and serve:

bridgetown build
bridgetown serve

⚑ Generators Summary

Command Description
bin/rails generate picocss:install Copy pico.min.css
bin/rails generate picocss:install_<theme> Copy a themed CSS (e.g. pico.blue.min.css)
bin/rails generate picocss:template_login Copy login template

πŸ§ͺ Development

bin/setup
rake spec
bin/console
bundle exec rake install
bundle exec rake release

πŸ“ License

MIT License. See LICENSE