Skip to content

Instantly share code, notes, and snippets.

@vanloc0301
Forked from jookyboi/rails_resources.md
Last active January 13, 2016 19:21
Show Gist options
  • Save vanloc0301/fd35dcecaf18280c6d55 to your computer and use it in GitHub Desktop.
Save vanloc0301/fd35dcecaf18280c6d55 to your computer and use it in GitHub Desktop.
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
# console.log "Saved! #{editor.getPath()}"
# Your keymap
#
# Atom keymaps work similarly to style sheets. Just as style sheets use
# selectors to apply styles to elements, Atom keymaps use selectors to associate
# keystrokes with events in specific contexts. Unlike style sheets however,
# each selector can only be declared once.
#
# You can create a new keybinding in this file by typing "key" and then hitting
# tab.
#
# Here's an example taken from Atom's built-in keymap:
#
# 'atom-text-editor':
# 'enter': 'editor:newline'
#
# 'atom-workspace':
# 'ctrl-shift-p': 'core:move-up'
# 'ctrl-p': 'core:move-down'
#
# You can find more information about keymaps in these guides:
# * https://atom.io/docs/latest/using-atom-basic-customization#customizing-key-bindings
# * https://atom.io/docs/latest/behind-atom-keymaps-in-depth
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it in the
# Atom Flight Manual:
# https://atom.io/docs/latest/using-atom-basic-customization#cson
[
{
"name": "activate-power-mode",
"version": "0.4.1"
},
{
"name": "angularjs",
"version": "0.3.3"
},
{
"name": "atom-alignment",
"version": "0.12.1"
},
{
"name": "atom-beautify",
"version": "0.28.21"
},
{
"name": "atom-bootstrap3",
"version": "1.2.12"
},
{
"name": "atom-html-preview",
"version": "0.1.13"
},
{
"name": "atom-material-syntax",
"version": "0.2.10",
"theme": "syntax"
},
{
"name": "atom-material-ui",
"version": "0.8.0",
"theme": "ui"
},
{
"name": "atom-ternjs",
"version": "0.12.2"
},
{
"name": "autoclose-html",
"version": "0.19.0"
},
{
"name": "autocomplete-paths",
"version": "1.0.2"
},
{
"name": "autocomplete-python",
"version": "1.4.1"
},
{
"name": "color-picker",
"version": "2.0.14"
},
{
"name": "docblockr",
"version": "0.7.3"
},
{
"name": "emmet",
"version": "2.3.17"
},
{
"name": "file-icons",
"version": "1.6.13"
},
{
"name": "git-blame",
"version": "0.4.8"
},
{
"name": "git-control",
"version": "0.4.0"
},
{
"name": "git-history",
"version": "3.2.0"
},
{
"name": "git-log",
"version": "0.4.1"
},
{
"name": "git-plus",
"version": "5.12.0"
},
{
"name": "highlight-line",
"version": "0.11.0"
},
{
"name": "highlight-selected",
"version": "0.11.1"
},
{
"name": "javascript-snippets",
"version": "1.2.0"
},
{
"name": "language-docker",
"version": "1.1.6"
},
{
"name": "language-elixir",
"version": "0.5.2"
},
{
"name": "linter",
"version": "1.11.3"
},
{
"name": "linter-coffeelint",
"version": "1.1.2"
},
{
"name": "linter-csslint",
"version": "1.2.0"
},
{
"name": "linter-eslint",
"version": "5.2.7"
},
{
"name": "linter-htmlhint",
"version": "0.2.2"
},
{
"name": "linter-jscs",
"version": "3.2.2"
},
{
"name": "linter-jshint",
"version": "1.2.2"
},
{
"name": "linter-php",
"version": "1.1.6"
},
{
"name": "linter-scss-lint",
"version": "2.5.0"
},
{
"name": "merge-conflicts",
"version": "1.3.7"
},
{
"name": "minimap",
"version": "4.19.0"
},
{
"name": "minimap-git-diff",
"version": "4.1.8"
},
{
"name": "minimap-highlight-selected",
"version": "4.3.1"
},
{
"name": "open-recent",
"version": "4.0.1"
},
{
"name": "pigments",
"version": "0.19.6"
},
{
"name": "pretty-json",
"version": "0.4.1"
},
{
"name": "project-manager",
"version": "2.7.3"
},
{
"name": "react",
"version": "0.12.10"
},
{
"name": "regex-railroad-diagram",
"version": "0.10.4"
},
{
"name": "script",
"version": "3.4.0"
},
{
"name": "Sublime-Style-Column-Selection",
"version": "1.3.0"
},
{
"name": "sync-settings",
"version": "0.6.0"
},
{
"name": "tabs-to-spaces",
"version": "1.0.1"
},
{
"name": "terminal-plus",
"version": "0.14.5"
},
{
"name": "todo-show",
"version": "1.3.0"
},
{
"name": "travis-ci-status",
"version": "1.0.0"
},
{
"name": "atom-dark-syntax",
"version": "0.27.0",
"theme": "syntax"
},
{
"name": "atom-dark-ui",
"version": "0.51.0",
"theme": "ui"
},
{
"name": "atom-light-syntax",
"version": "0.28.0",
"theme": "syntax"
},
{
"name": "atom-light-ui",
"version": "0.43.0",
"theme": "ui"
},
{
"name": "base16-tomorrow-dark-theme",
"version": "1.0.0",
"theme": "syntax"
},
{
"name": "base16-tomorrow-light-theme",
"version": "1.0.0",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.1.8",
"theme": "ui"
},
{
"name": "one-dark-syntax",
"version": "1.1.1",
"theme": "syntax"
},
{
"name": "one-light-syntax",
"version": "1.1.1",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.1.8",
"theme": "ui"
},
{
"name": "solarized-dark-syntax",
"version": "0.39.0",
"theme": "syntax"
},
{
"name": "solarized-light-syntax",
"version": "0.23.0",
"theme": "syntax"
},
{
"name": "about",
"version": "1.1.0"
},
{
"name": "archive-view",
"version": "0.61.0"
},
{
"name": "autocomplete-atom-api",
"version": "0.9.2"
},
{
"name": "autocomplete-css",
"version": "0.11.0"
},
{
"name": "autocomplete-html",
"version": "0.7.2"
},
{
"name": "autocomplete-plus",
"version": "2.25.0"
},
{
"name": "autocomplete-snippets",
"version": "1.9.0"
},
{
"name": "autoflow",
"version": "0.26.0"
},
{
"name": "autosave",
"version": "0.23.0"
},
{
"name": "background-tips",
"version": "0.26.0"
},
{
"name": "bookmarks",
"version": "0.38.0"
},
{
"name": "bracket-matcher",
"version": "0.79.0"
},
{
"name": "command-palette",
"version": "0.38.0"
},
{
"name": "deprecation-cop",
"version": "0.54.0"
},
{
"name": "dev-live-reload",
"version": "0.47.0"
},
{
"name": "encoding-selector",
"version": "0.21.0"
},
{
"name": "exception-reporting",
"version": "0.37.0"
},
{
"name": "find-and-replace",
"version": "0.194.0"
},
{
"name": "fuzzy-finder",
"version": "0.94.0"
},
{
"name": "git-diff",
"version": "0.57.0"
},
{
"name": "go-to-line",
"version": "0.30.0"
},
{
"name": "grammar-selector",
"version": "0.48.0"
},
{
"name": "image-view",
"version": "0.56.0"
},
{
"name": "incompatible-packages",
"version": "0.25.0"
},
{
"name": "keybinding-resolver",
"version": "0.33.0"
},
{
"name": "line-ending-selector",
"version": "0.3.0"
},
{
"name": "link",
"version": "0.31.0"
},
{
"name": "markdown-preview",
"version": "0.157.0"
},
{
"name": "metrics",
"version": "0.53.1"
},
{
"name": "notifications",
"version": "0.62.1"
},
{
"name": "open-on-github",
"version": "0.40.0"
},
{
"name": "package-generator",
"version": "0.41.0"
},
{
"name": "release-notes",
"version": "0.53.0"
},
{
"name": "settings-view",
"version": "0.232.1"
},
{
"name": "snippets",
"version": "1.0.1"
},
{
"name": "spell-check",
"version": "0.63.0"
},
{
"name": "status-bar",
"version": "0.80.0"
},
{
"name": "styleguide",
"version": "0.45.0"
},
{
"name": "symbols-view",
"version": "0.110.1"
},
{
"name": "tabs",
"version": "0.88.0"
},
{
"name": "timecop",
"version": "0.33.0"
},
{
"name": "tree-view",
"version": "0.198.0"
},
{
"name": "update-package-dependencies",
"version": "0.10.0"
},
{
"name": "welcome",
"version": "0.33.0"
},
{
"name": "whitespace",
"version": "0.32.1"
},
{
"name": "wrap-guide",
"version": "0.38.1"
},
{
"name": "language-c",
"version": "0.51.1"
},
{
"name": "language-clojure",
"version": "0.19.0"
},
{
"name": "language-coffee-script",
"version": "0.46.0"
},
{
"name": "language-csharp",
"version": "0.11.0"
},
{
"name": "language-css",
"version": "0.36.0"
},
{
"name": "language-gfm",
"version": "0.82.0"
},
{
"name": "language-git",
"version": "0.11.0"
},
{
"name": "language-go",
"version": "0.40.0"
},
{
"name": "language-html",
"version": "0.43.1"
},
{
"name": "language-hyperlink",
"version": "0.16.0"
},
{
"name": "language-java",
"version": "0.17.0"
},
{
"name": "language-javascript",
"version": "0.104.0"
},
{
"name": "language-json",
"version": "0.17.2"
},
{
"name": "language-less",
"version": "0.29.0"
},
{
"name": "language-make",
"version": "0.21.0"
},
{
"name": "language-mustache",
"version": "0.13.0"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.32.0"
},
{
"name": "language-php",
"version": "0.34.0"
},
{
"name": "language-property-list",
"version": "0.8.0"
},
{
"name": "language-python",
"version": "0.42.1"
},
{
"name": "language-ruby",
"version": "0.65.0"
},
{
"name": "language-ruby-on-rails",
"version": "0.24.0"
},
{
"name": "language-sass",
"version": "0.45.0"
},
{
"name": "language-shellscript",
"version": "0.21.0"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.20.0"
},
{
"name": "language-text",
"version": "0.7.0"
},
{
"name": "language-todo",
"version": "0.27.0"
},
{
"name": "language-toml",
"version": "0.18.0"
},
{
"name": "language-xml",
"version": "0.34.2"
},
{
"name": "language-yaml",
"version": "0.25.0"
}
]

Gems

  • Bundler - Bundler maintains a consistent environment for ruby applications. It tracks an application's code and the rubygems it needs to run, so that an application will always have the exact gems (and versions) that it needs to run.
  • rabl - General ruby templating with json, bson, xml, plist and msgpack support
  • Thin - Very fast and lightweight Ruby web server
  • Unicorn - Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels.
  • SimpleCov - SimpleCov is a code coverage analysis tool for Ruby 1.9.
  • Zeus - Zeus preloads your Rails app so that your normal development tasks such as console, server, generate, and specs/tests take less than one second.
  • factory_girl - factory_girl is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class (user, admin_user, and so on), including factory inheritance.
  • Sass - This gem provides official integration for Ruby on Rails projects with the Sass stylesheet language.
  • ActiveAdmin - Ruby on Rails plugin for generating administration style interfaces
  • Delayed::Job - Database based asynchronous priority queue system -- Extracted from Shopify
  • Resque - Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.

Tools and Services

  • Heroku - Hosting provider for Ruby, Node.js, Clojure, Java, Python and Scala
  • Forward - Forward your localhost to a publicly-accessible url
  • Mandrill - Transactional email based on MailChimp infrastructure
  • Jenkins - Open source continuous integration server

Guides

  • Ruby on Rails Guides - These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together.
  • Better Specs - Collection of "best practices" that other developers learn through years of experience.
# Your snippets
#
# Atom snippets allow you to enter a simple prefix in the editor and hit tab to
# expand the prefix into a larger code block with templated values.
#
# You can create a new snippet in this file by typing "snip" and then hitting
# tab.
#
# An example CoffeeScript snippet to expand log to console.log:
#
# '.source.coffee':
# 'Console log':
# 'prefix': 'log'
# 'body': 'console.log $1'
#
# Each scope (e.g. '.source.coffee' above) can only be declared once.
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it in the
# Atom Flight Manual:
# https://atom.io/docs/latest/using-atom-basic-customization#cson
/*
* Your Stylesheet
*
* This stylesheet is loaded when Atom starts up and is reloaded automatically
* when it is changed and saved.
*
* Add your own CSS or Less to fully customize Atom.
* If you are unfamiliar with Less, you can read more about it here:
* http://lesscss.org
*/
/*
* Examples
* (To see them, uncomment and save)
*/
// style the background color of the tree view
.tree-view {
// background-color: whitesmoke;
}
// style the background and foreground colors on the atom-text-editor-element itself
atom-text-editor {
// color: white;
// background-color: hsl(180, 24%, 12%);
}
// To style other content in the text editor's shadow DOM, use the ::shadow expression
atom-text-editor::shadow .cursor {
// border-color: red;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment