All Projects → stitchfix → extra_extra

stitchfix / extra_extra

Licence: MIT license
Manage in-app release notes for your Rails application using Markdown

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
Roff
2310 projects

Projects that are alternatives of or similar to extra extra

Wavefile
A Ruby gem for reading and writing sound files in Wave format (*.wav)
Stars: ✭ 193 (+819.05%)
Mutual labels:  gem
Unimidi
Realtime MIDI IO for Ruby
Stars: ✭ 229 (+990.48%)
Mutual labels:  gem
graphql authorize
Authorization helpers for ruby-graphql fields
Stars: ✭ 23 (+9.52%)
Mutual labels:  gem
Squid
A Ruby library to plot charts in PDF files
Stars: ✭ 205 (+876.19%)
Mutual labels:  gem
Localer
Automatic detecting missing I18n translations tool.
Stars: ✭ 219 (+942.86%)
Mutual labels:  gem
Api Fuzzer
API Fuzzer which allows to fuzz request attributes using common pentesting techniques and lists vulnerabilities
Stars: ✭ 238 (+1033.33%)
Mutual labels:  gem
Ougai
A Ruby structured logging is capable of handling a message, custom data or an exception easily and generates JSON or human readable logs.
Stars: ✭ 187 (+790.48%)
Mutual labels:  gem
schked
Framework agnostic scheduler to run recurring jobs.
Stars: ✭ 78 (+271.43%)
Mutual labels:  gem
Localeapp
Send and retrieve your ruby i18n localizations to the Locale translation service
Stars: ✭ 225 (+971.43%)
Mutual labels:  gem
memo wise
The wise choice for Ruby memoization
Stars: ✭ 486 (+2214.29%)
Mutual labels:  gem
Gemsurance
Gem vulnerability checker using rubysec/ruby-advisory-db
Stars: ✭ 207 (+885.71%)
Mutual labels:  gem
Bootsnap
Boot large Ruby/Rails apps faster
Stars: ✭ 2,480 (+11709.52%)
Mutual labels:  gem
Forest Rails
🌱 Rails Liana for Forest Admin
Stars: ✭ 247 (+1076.19%)
Mutual labels:  gem
Arctic admin
Responsive Theme for ActiveAdmin
Stars: ✭ 201 (+857.14%)
Mutual labels:  gem
omniauth-multi-provider-saml
An extension to omniauth-saml for handling multiple identity providers
Stars: ✭ 14 (-33.33%)
Mutual labels:  gem
Flexirest
Flexirest - The really flexible REST API client for Ruby
Stars: ✭ 188 (+795.24%)
Mutual labels:  gem
Victor
Ruby SVG Image Builder
Stars: ✭ 237 (+1028.57%)
Mutual labels:  gem
lightly
Ruby file cache for performing heavy tasks, lightly.
Stars: ✭ 37 (+76.19%)
Mutual labels:  gem
ibandit
Convert national banking details into IBANs, and vice-versa.
Stars: ✭ 90 (+328.57%)
Mutual labels:  gem
open dota api
Ruby client for Dota 2 from OpenDotaAPI
Stars: ✭ 19 (-9.52%)
Mutual labels:  gem

extra_extra - Let your users read all about how awesome your app is!

Build Status

Release Notes are useful for internal applications where users might like a list of what changed when. This is a Rails Engine that allows you to manage a file RELEASE_NOTES.md at the root of your app and have it served-up as /release_notes to your app's users.

EXTRA EXTRA

Install

In your Gemfile:

gem 'extra_extra'

After a bundle install, set it up in config/routes.rb:

mount ExtraExtra::Engine, at: "/release_notes"

Finally, create a RELEASE_NOTES.md file at the root of your app's directory:

# Sep 14, 2014

* Created a release notes engine!

When you restart your app, you can now visit /release_notes and see your notes rendered in HTML.

Controlling Look and Feel

You have some limited ability to customize how the release notes are rendered.

Layout

By default, the release notes are rendered inside your app's main application layout. This may not be what you want if your application layout uses any app-specific path helpers or other methods provided by your app.

In this case, we recommend you create a layout just for your release notes and set it in the initializer

Create app/views/layouts/release_notes.html.erb:

<!DOCTYPE html>
<html>
  <body data-no-turbolink ontouchstart="">
    <section class="content" role="main">
      <%= yield %>
    </section>
  </body>
</html>

Then set this up in config/initializers/extra_extra.rb:

ExtraExtra.layout_name = 'release_notes'

HTML

By default, each top-level header is rendered as an <h2>, second level as an <h3> and so on. This is because the page title is at an <h1>, so this strategy is more semantically correct. Further, each header is given a class that is h followed by the number one greater than the h tag's level (so, two greater than what Markdown dictates the header level to be):

<h2 class="h3">July 4, 2014</h2>
<p>
We released some stuff
</p>

You can control this in config/initializers/extra_extra.rb in your app:

ExtraExtra.renderer_options = {
  header_level_offset: 0,           # h1's are h1
  header_class_prefix: "f",         # with a class fX
  header_class_prefix_offset: 0,    # where X is the header, e.g. <h1 class="f1">Title</h1>
}

CSS

This engine provides no CSS or other look and feel. By using a layout in your application, your styles will be used. You can further customize the release notes by taking advantage of the generated HTML.

  • Everything is wrapped in a <section class='release-notes'>...</section>
  • The title "Release Notes" is the only <h1> rendered (in the default configuration)
  • In the default configuration, Markdown titles are rendered as "plus 1", meaning headers that would normally be an <h1> are rendered as <h2> and so on.
  • Each <h2> (which corresponds to major sections in your RELEASE_NOTES.md file) gets an anchor for deep linking.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].