【问题标题】:Do you use any tools for rapid html/css development?您是否使用任何工具进行快速 html/css 开发?
【发布时间】:2010-12-19 17:27:48
【问题描述】:

我刚刚听说zen-coding,它基本上只是一个基于css-esque选择器生成标记的脚本,例如:

div#foo > p*6

生成

<div id="foo">
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
</div>

编辑:这是一个更高级的示例..

还有 PS - 我什至没有使用任何 API,我完全是根据我的 CSS 选择器知识猜测的,这对我来说非常简单直观。

ul#nav > li[id] * 6 > a

生成

<ul id="nav">
    <li id="">
        <a href=""></a>
    </li>
    <li id="">
        <a href=""></a>
    </li>
    <li id="">
        <a href=""></a>
    </li>
    <li id="">
        <a href=""></a>
    </li>
    <li id="">
        <a href=""></a>
    </li>
    <li id="">
        <a href=""></a>
    </li>
</ul>

当您按下快捷键(例如 Ctrl-E)时。如果您进行大量前端开发,则非常有用。我有一个完全相反的想法,一个 CSS 选择器生成器,它基本上解析标记并生成选择器,因此人们可以使用 Firebug 等工具并快速查看实时变化,我只是从不费心去实际完成我拥有的脚本开始了。

目前在 TextMate、Dreamweaver、Aptana、NetBeans 中受支持,不幸的是不支持 vim/emacs,但是有一个名为 sparkup 的 fork 可以在 vim 上运行(我现在使用它)。

我想知道过去是否有人遇到过这样的插件或工具 - 我知道在 Vim/Textmate/Emacs 和其他强大的编辑器中有 sn-p 脚本,只是好奇还有什么在野外。

【问题讨论】:

    标签: html css emmet


    【解决方案1】:

    Blueprint CSS 框架有一个类似于快速 HTML/CSS 开发的标语:

    把时间花在创新上,而不是复制上。

    【讨论】:

    • 是的,但与 Blueprint 不同的是,我不必熟悉整个 API,或者整个网格系统,我只需安装插件,输入 css 选择器,点击快捷方式,那就是它。
    【解决方案2】:

    嗯。我每天写很多 HTML 和 CSS,我并不兴奋。你提到的那段我用了五秒钟写了六次 Ctrl+C 和 Ctrl+V。诚然,在某些情况下,元语言可能会节省更多时间,但我从来没有觉得需要一个。当真的有大量的 HTML(或 SQL 或数组)要生成时,我将为该任务编写一个小的 PHP 或 VB 脚本。我不希望另一种元语言产生另一种语言的东西。

    也许对别人有用,但对我没用。

    如果关于一般有用性的讨论是您所寻找的。第二次看你的帖子,我不再那么确定了。反正。 :)

    【讨论】:

    • 我用一个更高级的例子更新了我的帖子,我仍然认为它非常有用,至少主要是对做大量标记的前端开发人员来说。顺便说一句,我建议您至少尝试一下,我看不出手动编码比生成方式更快。
    • 就像我之前提到的,我没有阅读任何 API,我只看了 1 次示例并且我已经熟悉了它的工作原理,它为我节省了很多时间今天。
    • 我去看看试试看。
    【解决方案3】:

    如果您正在开发 Rails,请查看 SassHaml

    Sass 可以使用变量并进行基本数学运算:

    // Sass
    
    !blue = #3bbfce
    !margin = 16px
    
    .content_navigation
      border-color = !blue
      color = !blue - #111
    
    .border
      padding = !margin / 2
      margin = !margin / 2
      border-color = !blue
    

    渲染:

    /* CSS */
    
    .content_navigation {
      border-color: #3bbfce;
      color: #2aaebd;
    }
    
    .border {
      padding: 8px;
      margin: 8px;
      border-color: #3bbfce;
    }
    

    Haml 使用缩进代替 div 并匹配 css # 和 .用于标记类和 div 的系统:

    #profile
      .left.column
        #date= print_date
        #address= current_user.address
      .right.column
        #email= current_user.email
        #bio= current_user.bio
    

    呈现给:

    <div id="profile">
      <div class="left column">
        <div id="date"><%= print_date %></div>
        <div id="address"><%= current_user.address %></div>
      </div>
      <div class="right column">
        <div id="email"><%= current_user.email %></div>
        <div id="bio"><%= current_user.bio %></div>
      </div>
    </div>
    

    【讨论】:

      【解决方案4】:

      我真的很惊讶你们会进行这样的对话。

      我从事 Web 开发已有 4 年了,我不记得上次我不得不写类似的东西是什么时候了

      <li>some text</li>
      

      在单个实例中不止一次。

      我在任何给定点上写的最多的 html 是这样的

      <ul>
      <?php foreach ( $menu as $item ) : ?>
       <li><?php echo $item->title ?></li>
      <?php endforeach; ?>
      </ul>
      

      不用说,我真的不明白学习一种工具来加快静态 HTML 的编写速度。这就像得到一个更大的铲子,你只会把自己挖成一个更大的整体。

      我想你应该问问自己,我怎样才能消除我生成的静态 html 的数量?

      该问题的答案是使用 JoomlaDrupalWordpress 等 CMS。 如果您绝对必须编写静态 html 网站,请查看 Sphinx 之类的内容。

      Sphinx 完全消除了编写 HTML 的需要,它允许您创建具有多个页面的静态站点,而无需编写单个硬编码的 html 链接。

      Sphinx 使用reStructuredText 标记。我将向您展示如何在 reStructuredText 中生成代码。

      - `Joomla`_
      - `Drupal`_
      - `Wordpres`_
      - `Sphinx`_
      _ :doc:`Some intermal Page <internal/file>`
      
      .. _Joomla: http://joomla.org
      .. _Drupal: http://drupal.org
      .. _Wordpress: http://wordpress.org
      .. _Sphinx: https://www.sphinx-doc.org
      

      我试图展示这将如何与 reStructuredText 一起工作,您所拥有的示例在 Sphinx 上下文中并不完全有意义,因为您永远不会在不提供指向它们的链接的情况下创建标签。但我希望你有一个想法。

      【讨论】:

      • 我认为 Sphinx 不适合某些 前端 Web 开发人员(不是程序员)需要大量使用的标记,这是非常基本的 html,我我谈论的是非常非常定制的,绝对不是通用的,但是像上面提到的那样的工具可以在短时间内生成更复杂的标记
      • @meder,定制是什么意思?在什么情况下你必须编写这样的代码?我并不是说 Sphinx 是完美的工具,但它可以用来编写非常高级的静态 html 网站,而无需编写任何 html。
      • 我认为您主要指的是通过您给出的示例标记内容,我指的是标记高度样式和自定义的元素,例如导航,只是一般的布局 - 其中元素需要多个属性(ids、classes),比如模态框和多个页面表单。
      • 您可以使用任何 CMS 进行所有这些“高度可定制”的更改,没有理由编写 HTML,这就是我的观点。如果您使用 Joomla 的菜单,Joomla 1.5 将开箱即用地输出足够的自定义标签,让您几乎可以做任何事情。
      猜你喜欢
      • 1970-01-01
      • 2010-09-06
      • 2012-08-30
      • 2015-09-15
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      相关资源
      最近更新 更多