Skip to content
This repository was archived by the owner on Dec 29, 2021. It is now read-only.

goncalossilva/code2gist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code2gist

This library looks for code blocks in your text and uploads them to http://gist.github.com. Then, it can either give you the link to it or replace your code blocks inline for their respective gist.github.com links.

The code must follow this pattern:

```filename.extension
some code
```

The filename and extension are optional — it'll assume it's an untitled plain text file if you don't specify what it is.

Usage

It's very simple:

require 'code2gist'
Code2Gist.upload(your_text, "example description")

Or:

new_text = Code2Gist.replace(your_text, "another example description")

Options

When replacing, there are two options available: :html (default: false) and :anonymous (default: false).

Quick example:

Code2Gist.replace(your_markdown_text, "yay!", :html => true)

This is specially useful if you're using markdown/textile and would like to have all your code blocks in a gist and embeded in your HTML. For example:

html = Markdown.new(Code2Gist.replace(text, "Code snippets from article X", :html => true)).to_html

You can use the :anonymous option to avoid authenticating that code upload, even if the credentials are available (see next section):

Code2Gist.replace(your_markdown_text, "anonymous!", :anonymous =>

true)

I want to be the owner of the gist!

It's okay, just specify your username and API token before uploading any gists:

Code2Gist::Config.github_login = "your_login"
Code2Gist::Config.github_token = "your_token"

Command-line interface

Use code2gistfrom the command-line. Just run:

$ code2gist upload file "optional description"

Or:

$ code2gist replace file "optional description"

Or even:

$ code2gist replace file "optional description" --substitute # this will change your file in place!

It supports all options. Check code2gist --help to see how to use them properly.

Real example

code = <<-eoc
  This is just a regular `document`

  It can have code!

  ```description.rb
  def what
    puts "This is ruby code!"
    `ls`
  end
  ```

  And small snippets *also* work:
  ```
  Not sure what this is
  ```

  The end
eoc

Code2Gist.upload(code, "my description) # => https://gist.github.com/1157214

Code2Gist.replace(code, "another description") # =>
#  This is just a regular `document`
#
#  It can have code!
#
#  https://gist.github.com/1157215?file=description.rb
#
#  And small snippets *also* work:
#  https://gist.github.com/1157215?file=untitled_1.txt
#
#  The end

Code2Gist.replace(code, "yet another description", :html => true) # =>
#  This is just a regular `document`
#
#  It can have code!
#
#  <script src="https://gist.github.com/1157216.js?file=description.rb"></script>
#
#  And small snippets *also* work:
#  <script src="https://gist.github.com/1157216.js?file=untitled_1.txt"></script>
#
#  The end

About

Parse text files (markdown/textile/whatever) for code blocks and gist them

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages