際際滷

際際滷Share a Scribd company logo
Mustdown
Simon Courtois - 葵鞄温沿沿霞稼看鍖仰
Mustache

               name:   Github
               slogan: Social Coding (for all)    Object
               url:    http://github.com




        <h1>The {{name}} company</h1>

        <p>Slogan: {{slogan}}</p>

        <p>Site: {{url}}</p>                     <h1>The Github company</h1>

                                                 <p>Slogan: Social Coding (for all)</p>
          Mustache                               <p>Site: http://github.com</p>

                                                     HTML


github: simonc/mustdown                           http://slidesha.re/mustdown
Mustache
               name:     Github
               slogan: Social Coding (for all)
               url:     http://github.com
               projects:
                 - title: Hubot
                    url:    https://github.com/github/hubot
                                                               Object
                 - title: Gollum
                    url:    https://github.com/github/gollum



   <h1>The {{name}} company</h1>

   <p>Slogan: {{slogan}}</p>         <h1>The Github company</h1>
   <p>Site: {{url}}</p>
                                     <p>Slogan: Social Coding (for all)</p>
   <ul>
     {{#projects}}                   <p>Site: http://github.com</p>
     <li>{}: {{url}}</li>
     {{/projects}}                   <ul>
   </ul>                               <li>Hubot: https://github.com/github/hubot</li>
                                       <li>Gollum: https://github.com/github/gollum</li>
          Mustache                   </ul>

                                                 HTML
github: simonc/mustdown                              http://slidesha.re/mustdown
Mustache

                                                                 ActiveRecord

  company = Company.where(name: 'Github').first

  template = <<-END                    Ruby
   <h1>The {{name}} company</h1>

    <p>Slogan: {{slogan}}</p>
    <p>Site: {{url}}</p>
                                       <h1>The Github company</h1>
    <ul>
      {{#projects}}                    <p>Slogan: Social Coding (for all)</p>
      <li>{}: {{url}}</li>
      {{/projects}}                    <p>Site: http://github.com</p>
    </ul>
                                       <ul>
  END                                    <li>Hubot: https://github.com/github/hubot</li>
                                         <li>Gollum: https://github.com/github/gollum</li>
  Mustache.render(template, company)   </ul>

                                                  HTML
github: simonc/mustdown                               http://slidesha.re/mustdown
Markdown

   # The Github company
                                       Markdown
   Slogan: Social Coding (for all)

   Site: [Github](http://github.com)

   * Hubot
   * Gollum



                                     <h1>The Github company</h1>

                                     <p>Slogan: Social Coding (for all)</p>

                                     <p>Site: <a href=http://github.com>Github</a></p>

                                     <ul>
                                       <li>Hubot</li>
                                       <li>Gollum</li>
                                     </ul>

                                                         HTML
github: simonc/mustdown                                  http://slidesha.re/mustdown
Mustdown
               name:     Github
               slogan: Social Coding (for all)
               url:     http://github.com
               projects:
                 - title: Hubot
                    url:    https://github.com/github/hubot
                                                               Object
                 - title: Gollum
                    url:    https://github.com/github/gollum



    # The {{name}} company

    Slogan: {{slogan}}
                                     <h1>The Github company</h1>
    Site: {{url}}
                                     <p>Slogan: Social Coding (for all)</p>
    {{#projects}}
                                     <p>Site: http://github.com</p>
    * {}: {{url}}
    {{/projects}}
                                     <ul>
                                       <li>Hubot: https://github.com/github/hubot</li>
    Mustdown                           <li>Gollum: https://github.com/github/gollum</li>
                                     </ul>

                                                 HTML
github: simonc/mustdown                              http://slidesha.re/mustdown
Mustdown - helpers
 class CompaniesController < ApplicationController
   def show                                           Controller
     @company = Company.where(name: 'Github').first
     @template = <<-END
         # The {{name}} company

         Slogan: {{slogan}}

         Site: {{url}}

         {{#projects}}
         * {}: {{url}}
         {{/projects}}                <h1>The Github company</h1>
     END
                                      <p>Slogan: Social Coding (for all)</p>
   end
 end                                  <p>Site: http://github.com</p>

                                      <ul>
                                        <li>Hubot: https://github.com/github/hubot</li>
# app/views/companies/show.html.erb     <li>Gollum: https://github.com/github/gollum</li>
<%= mustdown @template, @company %>   </ul>

     View                                        HTML
github: simonc/mustdown                               http://slidesha.re/mustdown
Mustdown - helpers
 class CompaniesController < ApplicationController
   def show                                           Controller
     @company = Company.where(name: 'Github').first
   end
 end
 en:
   companies:           en.yml
     show:
       text: |
        # The {{name}} company

        Slogan: {{slogan}}
                                       <h1>The Github company</h1>
        Site: {{url}}
                                       <p>Slogan: Social Coding (for all)</p>
        {{#projects}}
        * {}: {{url}}           <p>Site: http://github.com</p>
        {{/projects}}
                                       <ul>
                                         <li>Hubot: https://github.com/github/hubot</li>
# app/views/companies/show.html.erb      <li>Gollum: https://github.com/github/gollum</li>
<%= mustdown t(.text), @company %>   </ul>

     View                                        HTML
github: simonc/mustdown                               http://slidesha.re/mustdown
Mustdown - helpers


          <%= mustdown template, object %>

          <%= mustache template, object %>

          <%= markdown template %>




github: simonc/mustdown       http://slidesha.re/mustdown
Installation


                          gem 'mustdown'

                             redcarpet

                            mustache


           http://github.com/simonc/mustdown



github: simonc/mustdown                  http://slidesha.re/mustdown
遺看稼鍖g顎姻温岳庄看稼

                     $ rails generate mustdown:install


                     # config/initializers/mustdown.rb
                     Mustdown.configure do |config|
                          config.markdown_extensions = {
                            no_intra_emphasis: true,
                            tables:             true,
                            fenced_code_blocks: true,
                            autolink:           true,
                            strikethrough:      true
                          }

                          config.renderer_options = {
                            no_styles:        true,
                            safe_links_only: true
                          }
                     end




github: simonc/mustdown                          http://slidesha.re/mustdown
遺看稼鍖g顎姻温岳庄看稼



       <%= markdown template, { autolink: false }, { no_links: true } %>


       <%= mustdown template, object, { autolink: false }, { no_links: true } %>




github: simonc/mustdown                              http://slidesha.re/mustdown
Mustdown - TODO


                           Rails

                     Tests Tests Tests !




github: simonc/mustdown            http://slidesha.re/mustdown
Questions ?


github: simonc/mustdown       http://slidesha.re/mustdown
Merci !
                          葵鞄温沿沿霞稼看鍖仰




github: simonc/mustdown               http://slidesha.re/mustdown
Ad

Recommended

Write a Google Closure Editor Plugin
Write a Google Closure Editor Plugin
yinhm .
Get to know Git
Get to know Git
Runcy Oommen
Meetup live code_wear_2015
Meetup live code_wear_2015
Florent Champigny
Do zero ao deploy
Do zero ao deploy
jefferson Otoni Lima
Using The EGit Eclipse Plugin With Git Hub
Using The EGit Eclipse Plugin With Git Hub
guest4bce3214
Organize your assets with Rails
Organize your assets with Rails
Simon Courtois
Speed your Rails app creation with templates
Speed your Rails app creation with templates
Simon Courtois
Vos Regexps sont fausses !
Vos Regexps sont fausses !
Simon Courtois
Intro. to Git and Github
Intro. to Git and Github
Olmo F. Maldonado
introductiontogitandgithub-120702044048-phpapp01.pdf
introductiontogitandgithub-120702044048-phpapp01.pdf
BruceLee275640
Mr.Crabs Git workflow
Mr.Crabs Git workflow
Wuriyanto Musobar
Introduction to git and github
Introduction to git and github
Aderemi Dadepo
Git workflows presentation
Git workflows presentation
Mack Hardy
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
Scott Graham
Git101
Git101
Jason Noble
Creating and Deploying Static Sites with Hugo
Creating and Deploying Static Sites with Hugo
Brian Hogan
Up GitLab Presentation 2015
Up GitLab Presentation 2015
Kumaran Balachandran
Matt Gauger - Git & Github web414 December 2010
Matt Gauger - Git & Github web414 December 2010
Matt Gauger
GDSC GIT AND GITHUB
GDSC GIT AND GITHUB
GDSCIIITDHARWAD
SydJS.com
SydJS.com
Lachlan Hardy
Open Source Web Charts
Open Source Web Charts
HaNJiN Lee
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
jazoon13
Fewd week1 slides
Fewd week1 slides
William Myers
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
GDSCGHRIETNagpur
Atlanta Pm Git 101
Atlanta Pm Git 101
Jason Noble
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
Git Atlrug
Git Atlrug
Jason Noble
Conseils pour un lancement Product Hunt r辿ussi
Simon Courtois
Dependency sorting in Ruby with TSort
Dependency sorting in Ruby with TSort
Simon Courtois

More Related Content

Similar to Mustdown (20)

Intro. to Git and Github
Intro. to Git and Github
Olmo F. Maldonado
introductiontogitandgithub-120702044048-phpapp01.pdf
introductiontogitandgithub-120702044048-phpapp01.pdf
BruceLee275640
Mr.Crabs Git workflow
Mr.Crabs Git workflow
Wuriyanto Musobar
Introduction to git and github
Introduction to git and github
Aderemi Dadepo
Git workflows presentation
Git workflows presentation
Mack Hardy
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
Scott Graham
Git101
Git101
Jason Noble
Creating and Deploying Static Sites with Hugo
Creating and Deploying Static Sites with Hugo
Brian Hogan
Up GitLab Presentation 2015
Up GitLab Presentation 2015
Kumaran Balachandran
Matt Gauger - Git & Github web414 December 2010
Matt Gauger - Git & Github web414 December 2010
Matt Gauger
GDSC GIT AND GITHUB
GDSC GIT AND GITHUB
GDSCIIITDHARWAD
SydJS.com
SydJS.com
Lachlan Hardy
Open Source Web Charts
Open Source Web Charts
HaNJiN Lee
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
jazoon13
Fewd week1 slides
Fewd week1 slides
William Myers
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
GDSCGHRIETNagpur
Atlanta Pm Git 101
Atlanta Pm Git 101
Jason Noble
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
Git Atlrug
Git Atlrug
Jason Noble
introductiontogitandgithub-120702044048-phpapp01.pdf
introductiontogitandgithub-120702044048-phpapp01.pdf
BruceLee275640
Introduction to git and github
Introduction to git and github
Aderemi Dadepo
Git workflows presentation
Git workflows presentation
Mack Hardy
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
Scott Graham
Creating and Deploying Static Sites with Hugo
Creating and Deploying Static Sites with Hugo
Brian Hogan
Matt Gauger - Git & Github web414 December 2010
Matt Gauger - Git & Github web414 December 2010
Matt Gauger
Open Source Web Charts
Open Source Web Charts
HaNJiN Lee
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
jazoon13
Fewd week1 slides
Fewd week1 slides
William Myers
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
GDSCGHRIETNagpur
Atlanta Pm Git 101
Atlanta Pm Git 101
Jason Noble
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter

More from Simon Courtois (13)

Conseils pour un lancement Product Hunt r辿ussi
Simon Courtois
Dependency sorting in Ruby with TSort
Dependency sorting in Ruby with TSort
Simon Courtois
How Unidecoder Transliterates UTF-8 to ASCII
How Unidecoder Transliterates UTF-8 to ASCII
Simon Courtois
Get Slim!
Get Slim!
Simon Courtois
Multi tenant/lang application with Ruby on Rails
Multi tenant/lang application with Ruby on Rails
Simon Courtois
Fake your files - MemFs
Fake your files - MemFs
Simon Courtois
Rails is like Burger King
Rails is like Burger King
Simon Courtois
REST with Her (and let Her take care of the REST)
REST with Her (and let Her take care of the REST)
Simon Courtois
Ruby and DCI
Ruby and DCI
Simon Courtois
Cells
Cells
Simon Courtois
Ariane
Ariane
Simon Courtois
Pourquoi Ruby on Rails 巽a d辿chire ?
Pourquoi Ruby on Rails 巽a d辿chire ?
Simon Courtois
Commander
Commander
Simon Courtois
Conseils pour un lancement Product Hunt r辿ussi
Simon Courtois
Dependency sorting in Ruby with TSort
Dependency sorting in Ruby with TSort
Simon Courtois
How Unidecoder Transliterates UTF-8 to ASCII
How Unidecoder Transliterates UTF-8 to ASCII
Simon Courtois
Multi tenant/lang application with Ruby on Rails
Multi tenant/lang application with Ruby on Rails
Simon Courtois
Fake your files - MemFs
Fake your files - MemFs
Simon Courtois
Rails is like Burger King
Rails is like Burger King
Simon Courtois
REST with Her (and let Her take care of the REST)
REST with Her (and let Her take care of the REST)
Simon Courtois
Pourquoi Ruby on Rails 巽a d辿chire ?
Pourquoi Ruby on Rails 巽a d辿chire ?
Simon Courtois
Ad

Recently uploaded (20)

"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Josef Weingand
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Josef Weingand
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
Ad

Mustdown

  • 1. Mustdown Simon Courtois - 葵鞄温沿沿霞稼看鍖仰
  • 2. Mustache name: Github slogan: Social Coding (for all) Object url: http://github.com <h1>The {{name}} company</h1> <p>Slogan: {{slogan}}</p> <p>Site: {{url}}</p> <h1>The Github company</h1> <p>Slogan: Social Coding (for all)</p> Mustache <p>Site: http://github.com</p> HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 3. Mustache name: Github slogan: Social Coding (for all) url: http://github.com projects: - title: Hubot url: https://github.com/github/hubot Object - title: Gollum url: https://github.com/github/gollum <h1>The {{name}} company</h1> <p>Slogan: {{slogan}}</p> <h1>The Github company</h1> <p>Site: {{url}}</p> <p>Slogan: Social Coding (for all)</p> <ul> {{#projects}} <p>Site: http://github.com</p> <li>{}: {{url}}</li> {{/projects}} <ul> </ul> <li>Hubot: https://github.com/github/hubot</li> <li>Gollum: https://github.com/github/gollum</li> Mustache </ul> HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 4. Mustache ActiveRecord company = Company.where(name: 'Github').first template = <<-END Ruby <h1>The {{name}} company</h1> <p>Slogan: {{slogan}}</p> <p>Site: {{url}}</p> <h1>The Github company</h1> <ul> {{#projects}} <p>Slogan: Social Coding (for all)</p> <li>{}: {{url}}</li> {{/projects}} <p>Site: http://github.com</p> </ul> <ul> END <li>Hubot: https://github.com/github/hubot</li> <li>Gollum: https://github.com/github/gollum</li> Mustache.render(template, company) </ul> HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 5. Markdown # The Github company Markdown Slogan: Social Coding (for all) Site: [Github](http://github.com) * Hubot * Gollum <h1>The Github company</h1> <p>Slogan: Social Coding (for all)</p> <p>Site: <a href=http://github.com>Github</a></p> <ul> <li>Hubot</li> <li>Gollum</li> </ul> HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 6. Mustdown name: Github slogan: Social Coding (for all) url: http://github.com projects: - title: Hubot url: https://github.com/github/hubot Object - title: Gollum url: https://github.com/github/gollum # The {{name}} company Slogan: {{slogan}} <h1>The Github company</h1> Site: {{url}} <p>Slogan: Social Coding (for all)</p> {{#projects}} <p>Site: http://github.com</p> * {}: {{url}} {{/projects}} <ul> <li>Hubot: https://github.com/github/hubot</li> Mustdown <li>Gollum: https://github.com/github/gollum</li> </ul> HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 7. Mustdown - helpers class CompaniesController < ApplicationController def show Controller @company = Company.where(name: 'Github').first @template = <<-END # The {{name}} company Slogan: {{slogan}} Site: {{url}} {{#projects}} * {}: {{url}} {{/projects}} <h1>The Github company</h1> END <p>Slogan: Social Coding (for all)</p> end end <p>Site: http://github.com</p> <ul> <li>Hubot: https://github.com/github/hubot</li> # app/views/companies/show.html.erb <li>Gollum: https://github.com/github/gollum</li> <%= mustdown @template, @company %> </ul> View HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 8. Mustdown - helpers class CompaniesController < ApplicationController def show Controller @company = Company.where(name: 'Github').first end end en: companies: en.yml show: text: | # The {{name}} company Slogan: {{slogan}} <h1>The Github company</h1> Site: {{url}} <p>Slogan: Social Coding (for all)</p> {{#projects}} * {}: {{url}} <p>Site: http://github.com</p> {{/projects}} <ul> <li>Hubot: https://github.com/github/hubot</li> # app/views/companies/show.html.erb <li>Gollum: https://github.com/github/gollum</li> <%= mustdown t(.text), @company %> </ul> View HTML github: simonc/mustdown http://slidesha.re/mustdown
  • 9. Mustdown - helpers <%= mustdown template, object %> <%= mustache template, object %> <%= markdown template %> github: simonc/mustdown http://slidesha.re/mustdown
  • 10. Installation gem 'mustdown' redcarpet mustache http://github.com/simonc/mustdown github: simonc/mustdown http://slidesha.re/mustdown
  • 11. 遺看稼鍖g顎姻温岳庄看稼 $ rails generate mustdown:install # config/initializers/mustdown.rb Mustdown.configure do |config| config.markdown_extensions = { no_intra_emphasis: true, tables: true, fenced_code_blocks: true, autolink: true, strikethrough: true } config.renderer_options = { no_styles: true, safe_links_only: true } end github: simonc/mustdown http://slidesha.re/mustdown
  • 12. 遺看稼鍖g顎姻温岳庄看稼 <%= markdown template, { autolink: false }, { no_links: true } %> <%= mustdown template, object, { autolink: false }, { no_links: true } %> github: simonc/mustdown http://slidesha.re/mustdown
  • 13. Mustdown - TODO Rails Tests Tests Tests ! github: simonc/mustdown http://slidesha.re/mustdown
  • 14. Questions ? github: simonc/mustdown http://slidesha.re/mustdown
  • 15. Merci ! 葵鞄温沿沿霞稼看鍖仰 github: simonc/mustdown http://slidesha.re/mustdown