Jekyll-Atom
A collection of snippets and tools for Jekyll in Atom
Configuring
Jekyll-Atom has a few settings that can be set through the Atom settings.
Server Port
The port used by static-server, defaults to 3000
Build Command
An array containing the default command to build a site, defaults to jekyll, build
. Can be overridden in your projects _config.yml
.
- The
Build Command
will most likely need changing due to some weirdness with $PATH in Atom.- Go into the packages settings (Settings -> Packages -> Jekyll).
- Change
Build Command
to/path/to/jekyll, build
. - You can get your /path/to/jekyll by using
which jekyll
in your terminal.
_config.yml
Jekyll Atom can pickup project specific config from your _config.yml
.
For Example:
atom:
buildCommand:
- jekyll
- build
- --option
- --this
buildEnv:
JEKYLL_ENV: development
postDirs:
- _newsletters
defaultPostDir: _drafts
buildCommand
buildCommand works the same as it does in the Atom settings and is an override for this site.
buildEnv
The environment used for the build process lets you set any environment variables you desire.
postDirs
The directories that appear on the new post modal. _posts
and _drafts
are added by default.
defaultPostDir
The default directory to be selected on the new post modal. Defaults to _posts
.
Usage
Server Management
Jekyll-Atom can host a server to preview your site!
The server runs in the background and can be started/stopped from anywhere using the Toggle Server command Alt-Shift-T
.
Whilst running any time you save in Atom your site will be built and available on the port you set in config.
Auto Building
If you would prefer jekyll-atom to simply build your site on save instead of serving it on static server you can use the command Jekyll: Toggle Auto Build
to turn building of your site on save on/off.
Grammars
Jekyll-Atom adds 3 language grammars to Atom Jekyll (HTML)
, Jekyll (XML)
and Jekyll (JSON)
. All 3 add Liquid and YAML highlighting to their respective format.
Liquid Highlighting requires the language-liquid package to be installed.
Functions
Open the layout for the current file
When triggered this function looks through your file for layout: foo
and then opens LAYOUTS_DIR/foo.LAYOUT_FORMAT
Open the include for the cursor position
When triggered this function opens up the include for the current tag. For example if you had {% include snippet.html %}
Atom would open INCLUDES_DIR/snippet.html
Create a new Post
When triggered this function brings up a popup at the top of the screen for you to type in the title of your new post e.g. Something Really Cool!
(on the date 2/4/2014). When you submit the form a new file of POSTSDIR/2014-04-02-something-really-cool.POST_FORMAT
will be created with a very basic front matter and opened on the screen.
Open Config
Opens _config.yml
Open Data File
When Triggered this function looks at the text around your cursor to find the data file to open. For Example triggering Open Data File whilst your cursor is within the site.data.team
in this {{ blah site.data.team }}
would result in DATADIR/team.yml
being opened.
Keyboard Shortcuts
Cmd-Alt-L
Open the layout for the current file
Cmd-Alt-D
Open the Datafile
Cmd-Shift-I
Open include
Cmd-Alt-J
Create a new post
Alt-Shift-T
Turn the server on/off
Snippets
There are a load of snippets provided by this plugin, please check the settings pane in atom for a full list.
Contributing
Feel free to fork this repo and submit changes!
When you fork Jekyll-Atom please:
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request