Skip to content
The Artsy Engineering Open-Source Developers Blog
Branch: source
Clone or download
Latest commit fbc95c4 Mar 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.bundle put back bundle_with distribution Mar 5, 2019
.vscode More work on the why we do our own blog post Jan 21, 2019
_design Design for hiring post. Jan 21, 2019
_includes Typo. Jan 30, 2019
_plugins Style the categories Jan 29, 2018
_posts Adds readmore tag. Mar 18, 2019
_sass Updates Artsy Open Source pages. Jan 30, 2019
blog/archives Initial work on lunrjs search. Mar 25, 2017
css/custom Wrap up the long-form epic style posts Jun 14, 2017
.gitignore Fix caps typo Jan 29, 2019
Gemfile Leaves spell checking to Peril Aug 28, 2017
Gemfile.lock Add docs on enabling comments Jan 22, 2019
Rakefile Traps ctrl-c when running server. Oct 5, 2018
_config.yml Runs yaml through Prettier. Jan 30, 2019
artsy-x-react-native.html You can actually click on slides now Jul 25, 2018

Build Status

The Artsy OSS page and the blog runs on top of a default jekyll install. If you would like an overview of jekyll their website rocks.


  git clone
  bundle exec rake bootstrap
  bundle exec rake build

Running the OSS Site / Blog locally

Running rake serve will not generate category pages. They take a long time to generate. No one wants that when working on the site.

  bundle exec rake serve

Categories are generated when the ENV var PRODUCTION = "YES".


Travis CI will automatically deploy when new commits are pushed to the source branch, so you should not need to deploy from your local computer. However, if you need to deploy locally, the rake deploy command is available.

Adding an Author

Authors are key-value stored, so you will need to give yourself a key inside _config.yml - for example:

    name: Joey Aghion
    github: joeyAghion
    twitter: joeyAghion

Everything but name is optional.

Authoring an Article

Note: we now have some templates to help get you started writing a blog post. Check out the Post-Templates directory.

TLDR To generate a new post, create a new file in the _posts directory. Be sure to add your name as the author of the post and include several categories to file the post under. Here is a sample header YAML:

Note: categories are aggregated from the individual posts, so adding one is as easy as adding it to your post!

layout: post
title: "Responsive Layouts with CSS3"
date: 2012-01-17 11:03
comments: true
author: Matt McNierney
categories: [Design, CSS, HTML5]

More info can be found in the Jekyll docs.

When you have authored an article, git add and git commit it, then push to a named branch with git push origin [branch], and create a pull request to the source branch, it will be deployed to the site by travis when merged.

Enabling Comments

Comments for articles are managed with Issues in this GitHub repository.

Create an issue for the article

Quote the opening paragraph(s) of the post as the body of the issue, and name it something like "Comments: My Fantastic New Post".

Add the Comment Thread label to the issue

Attach the issue to your article

Copy the created issue ID; add it to the frontmatter YAML of your post, as the comment_id attribute:

comment_id: 1234

After Deploying an Article

Every article on our blog needs one more thing: a snappy tweet! You can ask Ash or Orta to do this for you, but you're also welcome to log into the @ArtsyOpenSource twitter account and tweet yourself (credentials are in the Engineering 1Password vault). Tweets usually follow the following format:

[pithy observation] [description of problem] [@ the article author's twitter handle]

📝 [link to blog post]
💻 [link to GitHub repo, if applicable]
📷 [attach a screenshot of the first few paragraphs of the post]

We attach screenshots of the post because tweets with images get more traction. But! Images aren't accessible to screen readers, so make sure to use the web interface and add a description to the image when posting:

Screenshot of the title and first two paragraphs of the linked-to blog post.

You can look at previous tweets from our account to get a feel for these. If you'd like help, just ask in Slack.

You can’t perform that action at this time.