Skip to content

urubatan/codemerger

Repository files navigation

This gem is used to help writing technical posts for wordpress.

To use this GEM I usually create a new directory for the post or post group project, then I create a Gemfile like this:

    source "http://rubygems.org"
    group :rake do
      gem "codemerger", "0.1.0", :require => "codemerger/rake_tasks"
    end

After that I create a Rakefile like this:

    require "rubygems"
    require "bundler/setup"
    Bundler.require :rake

Then just start creating the post file in the root directory, the project supports .html or .markdown files for the posts. Inside this file, when I want to include a source sample, I create another file for the sample, and then I include it into the main post file with a code like this:

    {{full/path/to/the/file.rb}}

When the post is ready I run teh rake task:

    rake codemerger:merge

After that, the file I was writting is processed, a new file is created into the output directory and the sample source files are included with a code like this:

    <b>{{full/path/to/the/file.rb}}</b>
    <pre line="1" lang="ruby">
      ruby code
    </pre>

This snippet is then copied and pasted to a post into my wordpress blog, and the code gets colored using the plugin wp-syntax, and the output can be turned into PDF with the plugin wp-mpdf.

Today this gem supports source files in the following languages:

  • Ruby (including Rakefile and Gemfile)
  • Java
  • YAML
  • HTML
  • XML
  • Scala
  • CSS
  • Javascript
  • Bash
  • Batch

All other files are configured as "text".

For the next steps I'm planning to write more automated tests, refactor the language support code out, today it is a switch statement to convert from a file extension to a name supported by wp-syntax/Geshi and add support for templates and direct conversion of the source samples to colored HTML.

All these changes are simple, but besides the automated tests, I do not need any of the other right now, if you think they will be usefull for you, send me a message, file an enhancement request or fork, implement and send me a pull request.

Any testing or comments will be of great value, today, I think only I'm using this GEM.

About

A utility to write tecnical articles and books with code in the text, taking code from the source file directly

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published