• Stars
    star
    356
  • Rank 116,936 (Top 3 %)
  • Language
    CSS
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

😵 a community-built, community-driven guide to hacking on the Atom editor

Things here have gotten a bit behind. I could use some real help to keep pushing this guide forward. If you'd like to help with the content and the direction of Splitting Atoms, say the word and we can discuss how to move forward.

Splitting Atoms

a community-built guide to hacking on the Atom editor

A hackable text editor for the 21st Century

At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it.

It is still a work in progress, but you should check out the Splitting Atoms guide.

To find out more about Atom from the team itself, read Introducing Atom and The Nucleus of Atom.

Atom is now completely open-source. This includes Atom, APM (the Atom Package Manager), and Atom-Shell. Check out the blog post for more of the details.

Contributing to Splitting Atoms

There are a number of ways to contribute to this project:

  • What are the sections, topics, and guides that are missing? There should still be lots of them, so open up some issues and send pull requests!

  • If you are excited about Atom and have already started digging into it and hacking on it, then you are just the person we need to contribute to this community-built, community-driven guide. Write about your experience tinkering with part of Atom and help refine and clarify what is already written here. Send pull requests and open issues. Specific areas you can help

    • Write a guide on building a package, especially if it involves an interesting part of the Atom API or uses a 3rd party library in an innovative way. These belong on the PackageGuides directory.
    • Write a guide on building a theme. These belong in the ThemeGuides directory.
    • Write a guide for defining killer configuration settings. These belong in the ConfigurationGuides directory.
    • Write a guide describing a particular workflow for development with a given language or technology. These belong in the WorkflowGuides directory.
  • If something about Atom completely perplexes you or you find parts of the official Atom documentation that are completely lacking, open an issue so that we can look into it and address it in the guide.

  • Create a badass Splitting Atoms logo that can eventually be displayed in our README, on our website, and in an eBook.

Further instructions can be found in contributing guide.

Setup

If you are interested in contributing to Splitting Atoms, make sure you have the following dependencies satisfied and then follow the instructions for getting this site going locally.

Dependencies

Splitting Atoms is a static site generated from Markdown and HTML files. The site is generated by some ruby gems. If you don't already have RubyGems on your machine, go ahead and download RubyGems. From there you will need to install jekyll (~1.4.3):

$ gem install jekyll

Front-End Dependencies

We also use Bower for managing front-end dependencies. This is an optional dependency for development because all front-end dependencies have been committed to the repository. However, if you plan to update or add bower packages, you will need NPM and Bower.

Running Locally

Assuming you have satisfied the above dependencies, you should be ready to develop Splitting Atoms locally. If you haven't already, fork the repository and clone it onto your machine. Navigate to the Splitting Atoms directory and launch a Jekyll server:

$ cd path/to/splitting-atoms
$ jekyll serve --watch --baseurl=

This will tell Jekyll to launch a server at the default port of 4000. Open up localhost:4000 in your favorite browser to see.

  • The --watch flag tells Jekyll to keep an eye out for changes to the site and regenerate the site when changes do happen.
  • The --baseurl= flag sets the configuration's baseurl to an empty string overriding that value in the _config.yml file which is set to a different value for deployment as a GitHub page.

Splitting Atoms' Goals

  • Develop supplementary guides, documentation, and tutorials for Atom
  • Organize the guides, documentation, and tutorials into an Atom developers guide
  • Publish the Atom developers guide as a website
  • Publish the Atom developers guide as a PDF/eBook

License

Everything here is licensed under the MIT license.

More Repositories

1

til

📝 Today I Learned
Vim Script
11,367
star
2

awesome-react-design-systems

A collection of awesome React-based design systems
792
star
3

commitart

Modifying the commit history of git repositories in order to write messages in GitHub's contribution graph.
Ruby
102
star
4

captionss

Sensible CSS Image Captions
CSS
66
star
5

resources

a collection of free, online resources for various technologies, languages, and tools
52
star
6

mybin

a collection of random scripts that I have written and put on my path to save time or do cool stuff.
Python
25
star
7

dotfiles

My configuration files
Vim Script
16
star
8

gatsby-programmatic-pages

A companion repo to the Gatsby guide on programmatically creating pages from data
CSS
12
star
9

blog

my personal blog
HTML
11
star
10

reason-helpers

A collection of helper functions that have proved useful as I've explored ReasonML
OCaml
11
star
11

atom-search

Open searches for various sites in your default browser from Atom.
CoffeeScript
8
star
12

vim-bdubs

quickly delete and wipeout buffers
Vim Script
7
star
13

reading

Using GitHub's issue tracker as a reading list manager
6
star
14

hn-cli

a command-line interface for accessing HackerNews items
Python
5
star
15

tree-reason-native

List the tree structure of the current directory
OCaml
5
star
16

reason-of-life

Game of Life implemented in ReasonML
OCaml
5
star
17

js-play

Stuff written in JavaScript
JavaScript
4
star
18

ocelot

Because you're awesome!
4
star
19

snake_case

4
star
20

postgresing

PostgreSQL Scratch Pad
PLpgSQL
4
star
21

react-logical

A collection of components for reducing inline logic in your React apps
JavaScript
4
star
22

man-git

a collection of git tips, tricks, and resources
3
star
23

pg_faker

fake data for postgres databases
PLpgSQL
3
star
24

ts-react-game-of-life

Building Game of Life with TypeScript and React
TypeScript
3
star
25

esy-reasonml-lwt-example

Example of using esy and dune to build a ReasonML project using lwt
OCaml
3
star
26

vim-rails-sql-migrations

rails.vim helper for generating SQL migrations for Rails projects
Vim Script
3
star
27

vim-fourohfour

🆗 Lookup HTTP status codes without leaving Vim
Vim Script
2
star
28

next-personal-site

JavaScript
2
star
29

hello-world-reason-native

Say Hello to the World with ReasonML compiled natively
C++
2
star
30

ruby-projects

Karan's Projects implemented in Ruby
Ruby
2
star
31

rust-must-read

a collection of must-reads on the Rust programming language
2
star
32

gatsby-v2-reason-example

Example repo for using ReasonML in a Gatsby v2 project
CSS
2
star
33

jager

a class project for CSE990 that does specification-based program repair using symbolic execution
Python
2
star
34

rails-ajax-forms

adding `remote: true` to Rails forms with wild abandon
Ruby
2
star
35

ROSLaunchParser

A python script for parsing out parameter and node information from ROS launch files
Python
2
star
36

just-dotfiles

lots of stuff about dotfiles
2
star
37

minutesmaker

A script for generating LaTeX files and subsequently PDF documents for meeting minutes.
Shell
2
star
38

jekyll-boilerplate

taking care of all the boilerplate involved in setting up a new Jekyll blog
2
star
39

advent-of-code-2020

Solutions to Advent of Code 2020 problems
Ruby
2
star
40

profilex

Implementing user registration and authentication with Phoenix 1.3
Elixir
2
star
41

2016

2016
2
star
42

PuzHub

Solutions to a bunch of programming puzzles in a bunch of languages!
Python
2
star
43

now-do-this-react

Now Do This written with React.js
JavaScript
2
star
44

talks

notes, slides, resources from talks I've given
2
star
45

gistory

a series of scripts and utilities for exploring and learning about the history of git repositories
Ruby
2
star
46

react-firebase-auth-example

Firebase authentication in a SPA-style React app
JavaScript
1
star
47

flashcartas

a simple flashcard web app
JavaScript
1
star
48

gatsby-cypress-example

Example of testing Gatsby with Cypress
CSS
1
star
49

read-file-reason-native

Read a file using `Unix.read`
OCaml
1
star
50

stream-args-reason-native

Consume the arguments given to the command with a stream
OCaml
1
star
51

linked-list-reason-native

Implementation of a linked list data structure
OCaml
1
star
52

simple-sudoku-check

An inexpensive, preliminary validity check of a Sudoku solution.
JavaScript
1
star
53

ecto_by_example

Examples of using Ecto
1
star
54

fizzbuzz-reason-native

The classic fizzbuzz challenge implemented in ReasonML
OCaml
1
star
55

sortr

Sorting Algorithms as a Gem
Ruby
1
star
56

hello-world

Elixir
1
star
57

2019-bookshelf

A virtual bookshelf for the books I read in 2019
JavaScript
1
star
58

postgres-performance-fkey-indexes

SQL snippets to accompany a blog post on foreign key indexes
1
star
59

sorting-reason-native

Implementations of some sorting algorithms in ReasonML
OCaml
1
star
60

ios-projects-solutions

iOS solutions to many of @Karan's Projects plus many other projects and problems.
Objective-C
1
star
61

scrape-rick-and-morty

A simple ReasonML native utility for scraping titles from Rick and Morty's wikipedia page
OCaml
1
star
62

vercel-next-routing

Routes, Rewrites, and Redirects powered by Vercel
JavaScript
1
star
63

test-pr-templates

A repo to test out the PR templates feature
1
star
64

git-playground

a repo for testing out all things Git
1
star
65

blog.joshbranchaud.com

Learning in public, writing it down
JavaScript
1
star
66

hn-sync

Using Elixir to sync data from HN to Postgres
Elixir
1
star
67

sidecar

Ruby
1
star
68

gatsby-joshbranchaud.com

My personal site served up by Gatsby
CSS
1
star
69

react-xstate-7-guis

Building the 7 GUIs Tasks with React.js and XState
JavaScript
1
star
70

advent-spiral

JavaScript
1
star
71

RPTR-paper2012

Final paper for RPTR project in CSE990-ProgramAnalysis
1
star
72

babou

a cross-platform GUI application for creating commits with ocelot annotations
Java
1
star
73

exercism-elixir

Solutions to the Exercism.io Elixir problems
Elixir
1
star
74

left-pad-reason-native

Left pad the given argument with some characters
OCaml
1
star
75

rails-bookshelf-example

A basic Rails app that demonstrates schema caching issues
Ruby
1
star