`
sg552
  • 浏览: 616734 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
47437293-94b9-3b04-9152-8971c7580049
白手起家学习使用Flex
浏览量:18625
社区版块
存档分类
最新评论

向现有项目增加bootstrap的步骤

阅读更多

有一个项目,前台有专门的美工。本着网站后台是内部人员使用, “将就能用就行”的原则(呵呵,不是我说的,是软件教主JOEY说的),我打算在管理界面上使用bootstrap. 起码是现成的,而且里面有很多优秀的元素。

 

考察了几个 gem,  ( rails-bootstrap啥的), 感觉对里面的东西理解的不到位。另外哥赶时间,不如自己动手,丰衣足食啊。 就那么几个CSS/JS文件。。。所以。。。

 

步骤记录如下:

 

1. 下载,然后解压缩。可以看到有这么几个文件夹:  docs,  img, js, less....  其中重要的东西都在docs里。

 

2. 在你的浏览器中(例如FIREFOX)打开  docs/examples/starter-template.html, 可以通过FIREBUG查看里面的结构。

 

3. 把它的源代码复制到你的 rails 布局  ( 例如 app/views/layouts/admin_layout.html.erb) 文件中。 

 

4. 把该替换的替换,例如在header中:

 

 3 <head>
  4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5   <title>你好~xx的后台管理界面</title>
  6   <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
  7   <!--[if lt IE 9]>
  9   <%= javascript_include_tag "google_html5.js" %>
 10   <![endif]-->
 11
 12   <%= stylesheet_link_tag    "admin_layout", :media => "all" %>
 13   <%= javascript_include_tag "admin_layout" %>
 14   <%= csrf_meta_tags %>
 15 </head>

 

这样就定义了 对应的JS, 和CSS。 而他们对应的文件(我用的RAILS 3.2),在app/assets/ 下面. 

p.s. 记得 13行的JS 声明还是暂时放在 <head>中比较好,如果放在最下面, 有些jquery(document).ready()会在执行时发生错误。

 

5.  实现对应的 admin_layout.js.erb: 

 

  1 //
  2 //= require jquery
  3 //= require jquery_ujs
  4 //= require jquery-ui-1.8.18.custom.min.js
  5 //= require bootstrap/bootstrap-transition
  6 //= require bootstrap/bootstrap-alert
  7 //= require bootstrap/bootstrap-modal
  8 //= require bootstrap/bootstrap-dropdown
  9 //= require bootstrap/bootstrap-scrollspy
 10 //= require bootstrap/bootstrap-tab
 11 //= require bootstrap/bootstrap-tooltip
 12 //= require bootstrap/bootstrap-popover
 13 //= require bootstrap/bootstrap-button
 14 //= require bootstrap/bootstrap-collapse
 15 //= require bootstrap/bootstrap-carousel
 16 //= require bootstrap/bootstrap-typeahead
 17 //= require my_utilities

 

记得这16个文件的顺序很重要,同时确保你把   对应的js 文件都从 docs/assets/js  复制到了 本地的 app/assets/javascripts/bootstrap中。 

 

6. 实现对应的 admin_layout.css.erb

 

  1 /*
  2  *= require jquery-ui-1.8.18.custom
  3  *= require bootstrap
  4  *= require bootstrap-responsive
  5  */
  6
  7 body {
  8   padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
  9 }

 

这里两个bootstrap文件都要包含(话说我还没弄清楚它俩的区别的用法,时间太赶了。。。) , 同时, 修改bootstrap.css.erb, 把里面出现的两处 图片,替换成 asset_path ,同时也要把图片复制过去。: 

 

1398   background-image: url("<%= asset_path "glyphicons-halflings.png" %>");
......
1407 .icon-white {
1408   background-image: url("<%= asset_path "glyphicons-halflings-white.png" %>");

 

 

7. 最后, 修改布局文件: 向里面加入对应的 <%= yield %> 就欧了。

 

 36     <div class="container">
 37       <div class="content">
 38         <div class="row">
 39            <div class="span9">
 40               <%= yield %>
 41             </div>
 42             <div class="span3">
 43               <div class="well sidebar-nav">
 44                 <h3>Sidebar</h3>
 45                 <ul class="nav nav-list">
 46                   <li class="nav-header">Sidebar</li>
 47                     <li><%= link_to "Link1", "/path1"  %></li>
 48                     <li><%= link_to "Link2", "/path2"  %></li>
 49                     <li><%= link_to "Link3", "/path3"  %></li>
 50                 </ul>
 51               </div><!--/.well -->
 52             </div><!--/span-->
 53         </div><!--/row-->
 54       </div><!--/content-->

 

 

8. 修改对应的action , 使用   render :layout => "admin_layout"

 

9. 在 config/environments/production.rb ,修改 需要在生产环境下预编译的东东:

49   config.assets.precompile += %w( admin_layout.css, admin_layout.js.erb )

10. 最后的最后, 看一眼提交的代码:

 

gisg552@sg552:/sg552/workspace/bubu$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   app/assets/images/glyphicons-halflings-white.png
#       new file:   app/assets/images/glyphicons-halflings.png
#       new file:   app/assets/javascripts/admin_layout.js.erb
#       new file:   app/assets/javascripts/bootstrap/bootstrap-alert.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-button.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-carousel.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-collapse.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-dropdown.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-modal.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-popover.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-scrollspy.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-tab.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-tooltip.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-transition.js
#       new file:   app/assets/javascripts/bootstrap/bootstrap-typeahead.js
#       new file:   app/assets/javascripts/google_html5.js
#       new file:   app/assets/stylesheets/admin_layout.css
#       new file:   app/assets/stylesheets/bootstrap-responsive.css
#       new file:   app/assets/stylesheets/bootstrap.css.erb
#       modified:   app/controllers/categories_controller.rb
#       new file:   app/views/layouts/admin_layout.html.erb
#       modified:   config/environments/production.rb

 

0
0
分享到:
评论

相关推荐

    angle-bootstrap admin 4.3

    "readme安装使用说明.txt" 这个文件是项目的重要组成部分,通常包含了如何下载、安装、配置以及使用Angle-bootstrap admin 4.3的详细步骤。通常,你需要按照文件中的指示,先确保你的开发环境中已经安装了必要的依赖...

    高清彩版 Bootstrap 4 Site Blueprints(2nd)

    随着新版本的发布,不仅增加了更多的组件和特性,而且对现有功能进行了优化,提高了整体的质量。 **Improving with age** 随着时间的发展,Bootstrap 4不断进步,并吸收了社区反馈,增强了兼容性和可维护性。 **The ...

    基于bootstrap的aceAdmin前端框架开发文档

    - 扩展或替换JavaScript插件,增加新的功能。 - 创建自定义的组件,通过编写额外的CSS和JavaScript代码实现。 ### 5. 学习资源 为了更好地掌握AceAdmin的使用,可以参考以下资源: - AceAdmin的官方文档:详细介绍...

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)

    响应式Web开发是一种现代网页设计方法,旨在使网站在不同设备上(如桌面电脑、平板电脑、智能手机...这个教程适合初学者和有一定基础的开发者,无论你是想要更新现有网站,还是从零开始创建新项目,都能从中获益良多。

    PyPI 官网下载 | aws-cfn-bootstrap-1.4-31.tar.gz

    使用特定版本可能是因为某些项目依赖于该版本的特性或行为,或者是为了确保与现有配置的兼容性。 **前端标签:HTML、CSS** 虽然aws-cfn-bootstrap主要是与AWS CloudFormation相关的后端工具,但“前端”标签可能指...

    深入理解Bootstrap.pdf

    - 详细介绍Bootstrap项目的目录结构,包括CSS、JS文件的位置及其作用。 - **HTML标准模板**: - 提供了一个标准的HTML模板,展示了如何正确地使用Bootstrap的HTML标签。 - **CSS基本语法**: - **优先级**:解释...

    Bootstrap选项卡美化Tabs特效特效代码

    然后,你可以将“jiaoben4894”中的代码整合到你的项目中,替换或附加到现有的Bootstrap CSS或JS文件中。接着,根据“使用帮助.txt”的指导,调整HTML结构以匹配美化代码的要求。最后,通过浏览器的开发者工具进行...

    www_bs4:将现有Rmd网站升级到Bootstrap 4

    在这个场景中,我们将讨论如何将一个基于R Markdown的现有网站升级到Bootstrap 4。 Bootstrap 4是Bootstrap框架的最新版本,它引入了许多改进和新特性,如更灵活的网格系统、新的组件和自定义选项。以下是你需要...

    bootstrap-v4-rtl:从右到左的Bootstrap v4.x版本

    4. **新组件和插件**:v4版本增加了许多新组件,如卡牌(Cards)、条形图(Progress Bars)、步骤条(Step)等,同时改进了现有的组件如模态框(Modal)、下拉菜单(Dropdowns)等,确保它们在RTL环境中也能正常工作...

    bootstrap5:为不在Bootstrap中的常用类和插件创建的特殊Bootstrap功能

    1. CSS文件:自定义的样式表,扩展了Bootstrap5的默认样式,增加新的类或修改现有类的行为。 2. JavaScript文件:可能包含了自定义的插件代码,实现了不在Bootstrap5核心中的功能,或者优化了某些组件的行为。 3. ...

    datetimepicker 功能 扩展

    标题“datetimepicker 功能扩展”指的是在原版Bootstrap Datetimepicker的基础上增加新的功能或改进现有功能。例如,描述中提到的“不满足一些特殊功能的需要”,可能是指在默认配置下,datetimepicker没有提供全...

    cu-theme:适用于Drupal网站的基于Bootstrap的自定义子主题

    `cu-theme` 作为子主题,可以方便地扩展或修改Bootstrap的基础样式,以满足特定项目的需求。在使用`cu-theme` 时,开发者可以通过修改`info.yml` 文件来配置主题信息,包括主题名称、描述、作者等,并通过修改`style...

    前端项目-ekko-lightbox.zip

    7. **易于集成**:对于已经使用Bootstrap的项目,Ekko Lightbox 只需添加少量额外的CSS和JavaScript文件,即可快速集成到现有的网页中。 8. **文档完善**:该项目提供了详尽的文档,包括安装步骤、使用示例和API...

    BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)

    总之,通过以上三种方法,开发者可以根据项目需求和资源限制,轻松地为 Bootstrap 轮播插件添加左右手势滑动功能,提升移动设备用户的交互体验。无论选择哪种方案,都需要进行充分的测试和优化,以确保最佳的用户...

    前端项目-jQuery.Gantt.zip

    jQuery.Gantt的特点在于其轻量级、高度可定制和适应性强,可以方便地集成到现有的Web应用中,提供清晰的任务视图,帮助团队成员理解和跟踪项目状态。 二、核心功能与应用场景 1. **任务管理**:jQuery.Gantt允许...

    React 项目迁移 Webpack Babel7的实现

    总结来说,React项目迁移Webpack和Babel7是一次全面的技术升级,它不仅需要对现有项目文件和配置进行更新,还需要开发者熟悉新版本工具的使用方法和最佳实践。通过合理配置,项目迁移可以带来更高效的开发流程和更...

    telescope-bootstrap-wysiwyg:用 bootstrap-wysiwyg HTML 编辑器替换 Telescope 中的 Markdown 编辑器

    3. **集成UI**:Bootstrap-wysiwyg的样式需要与Telescope的现有样式融合。可能需要调整CSS以适应Telescope的主题,确保编辑器在页面上的显示效果一致。 4. **事件处理**:在前端JavaScript中,你需要处理编辑器的...

    JavaScript MySQL实现景区门票信息管理系统【优质毕业设计、课程设计项目】.zip

    配置环境说明文件将指导用户如何搭建和运行项目,包括安装必要的软件(如Node.js、MySQL Server)、设置数据库连接、部署Web服务器等步骤。 总之,这个项目为学习者提供了实际操作的机会,涵盖了前端开发、后端服务...

    软件技术整体解决方案 (2).pdf

    项目遵循敏捷开发过程,包括了解需求、需求分析会议、确定开发任务、推进开发进度、测试、试点和交付等步骤。在每个阶段,团队会进行深入讨论,合理分配任务,并注重时间点的把控。每个功能完成后,测试工程师进行...

Global site tag (gtag.js) - Google Analytics