Code Monkey home page Code Monkey logo

hobo_bootstrap's Introduction

Codeship Status for Hobo/hobo

Welcome to Hobo

Hobo is an Open Source extension to Ruby on Rails which helps you build full blown web applications incredibly quickly and easily. Available as a Gem or Rails plugin, Hobo provides a simple, clean and elegant development framework which allows for rapid prototyping or production of the most sophisticated web applications.

Main Features

  • Rapid implementation of dynamic Ajax interfaces in your application with no extra programming.
  • Switchable themes. Customise and tweak your application structure and layout to meet any design goals.
  • Powerful mark-up language, DRYML, combines rapid development with ultimate design flexibility. The end of the cookie cutter blues!

RDOC Note

This is also the front page to the Hobo RDOC. RDOC is not the main documentation method for Hobo. See hobocentral for the Hobo documentation.

hobo_bootstrap's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

hobo_bootstrap's Issues

dev-user-changer broken in localized apps

In case of a localized app, where you use detault url options ending ?locale=de <dev-user-changer> is broken.

So in my app I patch it according to the definition in hobo_bootstrap / taglibs / nav.dryml by exchanging ?login with &login like so

<def tag="dev-user-changer">
  <set user="&Hobo::Model::UserBase.default_user_model"/>
  <select-menu if="&user && Rails.env.development?"
               first-option="#{t('hobo.dev_user_changer.guest', {:default=>'Guest'})}" options="&user.all(:limit => 30).*.login"
               onchange="location.href = '#{dev_support_path :action=>:set_current_user}&login=' + encodeURIComponent(this.options[this.selectedIndex].value)"
               selected="#{current_user.login}"
               class="dev-user-changer"
               merge-attrs/>
</def>

I'm not sure how the general case should be handled.
Besides that minor issue, a fantastic gem!

lifecycle forms aren't getting the form-actions class

In my signup-form, the actions aren't getting the form-actions class added. It's getting the form-horizontal class, so I have no idea why form-actions isn't getting added. I spent some time looking into it, but didn't figure it out.

Footers added via the footer tag in an extended page tag are not consistent

Bug reported in Hobo Users by Bob Sleys:

Footers added via the footer tag in an extended page tag (example below) are sometimes outside the container bootstrap-content div tag and sometimes inside of it. IE it's outside the div on index, edit, new pages but inside on show pages.

<extend tag="page">
<old-page merge >
   <footer:><hr/>
    Copyright  <%= Time.now.year %>
        <a href="&admin_users_url" if="&current_user.administrator?">
        <br/>
        <t key="hobo.admin.subsite_name">Admin</t>
      </a>
    </footer:>
</old-page>
</extend>

organize taglibs directory

hobo_bootstrap is getting big enough that it would be nice if the taglibs were nicely organized, ร  la Hobo Rapid.

aka: multiple subdirectories denoting 'sections'. Each directory has a simlarly named DRYML file, the first comment of which becomes the "section documentation introduction". Each tag is placed in its own file in a subdirectory, where the tag-name used for the filename.

suggestions for sections:

page, nav: these two sections are the theme proper
style (?): this section contains all the tags/extends that exist mostly just to add new classes to existing tags
forms, ...: sections that contain enhanced functionality

regardless of whether we do the reorg or not, we need to ensure that all tags are documented, or deliberately undocumented via <%# nodoc. %> All tags/extends that just exist to add a class or two to an existing tag should be marked nodoc.

Minimal glitch: Translation for "or"

Line 54 of taglibs/login.dryml should read

      <if test="&forgot_password_url"><t key="hobo.support.or">or</t> <a href="&forgot_password_url" param="forgot-password"><t key="hobo.login.forgot_password">Forgot your password?</t></a></if>

to have the "or" translated as well, instead of the current version

      <if test="&forgot_password_url">or <a href="&forgot_password_url" param="forgot-password"><t key="hobo.login.forgot_password">Forgot your password?</t></a></if>

Sorry not to provide a proper pull request, I have a mess here with my current version for bootstrap 3.
But I will fix that soon and give back to the community.

document tags

The tags need documentation.

Tags that are simple extensions of Hobo tags to adjust class names etc should be marked with <!-- nodoc. --> so that they don't pollute the cookbook.

Every other tag should be properly documented. bootstrap-fields is the most glaring example.

Review I18n approach

The current state of I18n in hobo_bootstrap is kind of hacky (see #6). It would be nice to review and make sure it is consistant with the rest of Hobo.

CSS problems with field-lists

I have identified a couple of CSS problems with hobo_bootstrap's field lists. In my opinion, they don't look as good as they should:

ImageBanana - Seleccin_002.png

ImageBanana - Seleccin_003.png

  • The uneditable-input class creates a icon in my browser that is a bit confusing for the user.
  • When a field does not have any content, the alignment is wrong.

I'm going to try to address these issues and make a pull request. Does anyone know of any other case where field lists don't behave as expected? Thanks!

Double words model names does not work

Hello,

I have problems with double words model names.

Here is peice of code causing the problem:
taglibs/index_page.dryml:16
New <%= model %>

model.to_s.downcase results in the following error:
...
Hobo::I18nError in Process_steps#index
wrong model name: "processstep" (extracted from translation key: "processstep.actions.new"). You might want to use the translate/t tag/method instead.

If "model.to_s.downcase" is changed to "model.to_s" everything works just fine.

Denis.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.