Code Monkey home page Code Monkey logo

artsy.github.io's Introduction

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.

Setup

git clone [email protected]:artsy/artsy.github.io.git
cd artsy.github.io
bundle
bundle exec rake bootstrap
bundle exec rake build

Common issues ⚠️

Issues installing `therubyracer` and/or `v8` dependencies Some combination of the following might help resolve issues with installing these dependencies:
  • make sure you have a ruby version that works (e.g. 2.7.5)
  • Installing v8 via homebrew: brew install v8
  • Installing the libv8 gem using a specific version and v8 flag: gem install libv8 -v '3.16.14.19' -- --with-system-v8
  • Assigning configuration options, as in this comment.

License

The code in this repository is released under the MIT license. The contents of the blog itself (ie: the contents of the _posts directory) are released under +Creative Commons Attribution 4.0 International License.

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".

Deploying

  • Circle automatically deploys to GitHub Pages when new commits are pushed to the source branch.
  • If you need to trigger a deploy locally, the rake deploy command is available.
  • See the Rakefile for details on how builds/deploys are done.
  • Note that the main branch does not build on Circle, due to all deploy commits being prefixed with [skip ci].

Adding an Author

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

joey:
  name: Joey Aghion
  github: joeyAghion
  twitter: joeyAghion
  site: http://joey.aghion.com

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
github-url: https://www.github.com/mmcnierney14
twitter-url: http://twitter.com/mmcnierney
blog-url: http://mattmcnierney.wordpress.com
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.

After you have authored an article, consider re-generating the related articles data, so that we can surface other articles related to the one you just added. See Generating related articles section below.

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 twitter.com 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.

Authoring a Podcast Episode

To add a new episode of the podcast, configure your local AWS environment. The easiest is in environment variables stored in ~/.zshrc or equivalent.

export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=

After you have set up the environment, run the following rake task.

rake podcast:new_episode /path/to/local/mp3

This will add required YAML to _config.yml. You'll need to fill in some other fields manually; when finished it'll look like this:

- title: Name of your episode
  date: (generated by Rake task)
  description: A paragraph-long description of the episode.
  podcast_url: (generated by Rake task)
  file_byte_length: (generated by Rake task)
  duration: (generated by Rake task)

Generating related articles

Generating the content for the "related articles" section at the bottom of an article is an offline & manual process that makes use of our staging vector database.

Any developer can run this at any time and commit the resulting changes to related-articles.json.

There are a few simple prerequisite steps required for this task specifically:

  1. gem install foreman, if you haven't already.

  2. cp .env.example .env, if you haven't already.

  3. Connect to the staging VPN in order to access the staging instance of Weaviate, our vector database.

After that it is just:

foreman run bundle exec rake related_articles

About Artsy

This project is the work of engineers at Artsy, the world's leading and largest online art marketplace and platform for discovering art. One of our core Engineering Principles is being Open Source by Default which means we strive to share as many details of our work as possible.

You can learn more about this work from our blog and by following @ArtsyOpenSource or explore our public data by checking out our API. If you're interested in a career at Artsy, read through our job postings!

artsy.github.io's People

Contributors

acjay avatar alloy avatar anandaroop avatar annacarey avatar artsy-peril[bot] avatar ashfurrow avatar ashkan18 avatar cogell avatar damassi avatar dblandin avatar dblock avatar dependabot[bot] avatar ds300 avatar eessex avatar erikdstock avatar joeyaghion avatar jonallured avatar kajatiger avatar kanaabe avatar mbilokonsky avatar mdole avatar mennenia avatar mzikherman avatar neilkimmett avatar orta avatar pepopowitz avatar peril-staging[bot] avatar williardx avatar yuki24 avatar zephraph avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

artsy.github.io's Issues

Visual fix

  • Increase line-height on intro paragraph to 42px:

image

  • Remove "Last Update here..."

image

Analytics broken

Google analytics stopped working around 8/11, presumably with the port to Jekyll.

screen shot 2015-09-09 at 9 22 44 am

Interestingly, it's still recording a few visits (1-5/day).

Category links don't work

Clicking on a category link on an article leads to nothing – it's href is the category name. So clicking eigen tries to navigate to //eigen/.

Date on browser scaling

The date here should be left aligned with the body para (it gets pushed to the bottom at a certain breakpoint, but currently stays out to the right).

screen shot 2015-06-15 at 6 28 11 pm

Author pages

Could be an expansion on the categories plugin?

Background color missing at top of page

Currently the body background-color is set to white which means if I'm poking around the header it looks like this:

Would be nicer if if the area "above the body" background-color #dbffff so it looked like this:

(Same thing if I pull left and right in my browser but much less important since it's much less likely that the user will see it.)

Jumping to a section of the overview takes you below the top

Clicking on one of the nav items on the side should take you to the top of the section (currently its a little below the top which seems confusing).

screen recording 2015-12-03 at 11 53 am

Jumping to a section should result in the top of that section being aligned with the top of the nav, like so:
screen shot 2015-12-03 at 11 56 09 am

Also would be nice if we could do a smooth scroll to that section rather than a jump.

Open source sub head

Let's either hide this, or if possible, pull in the latest tweet from the open source twitter.

screen shot 2015-06-15 at 6 20 57 pm

Comments section styling

screen shot 2015-07-10 at 11 56 55 am

Any way we could simplify this by hiding the logo / all links at the bottom, getting rid of the redundant comments header, and using garamond instead of their typefaces?

New Design

Comps for the new Open Source page and Engineering Team Blog. It would be great to walk through this with whoever picks it up to make sure that it's clear.

opensource_12

Mobile version here:

opensource_martsy_01

cc: @orta @robertlenne

Remove underscore.js

Looks like it's only used as an each function 4-5 times, not worth a 16kb download.

screen shot 2015-08-07 at 9 12 30 am

Fix PRs from forks

Pros from forks (example) don't build correctly since they don't have access to Travis' secure environment variables. We don't actually need them except for builds on master, which are deployed, so we should fix our CI setup to not rely on them on non-master builds.

Smarter code block formatting

Should target Obj-C when taking up full width

image

Otherwise it should use a more condensed monospace font, smaller font size, less padding, etc. before forcing the reader's eyes to jump left to right to left.

Spacing issue on Opensource Landing

screen shot 2015-07-10 at 12 13 07 pm
Main paragraph should be top aligned with the nav on the left. I think this must have changed recently since it seemed fine last time I looked.

Increase body width in posts

screen shot 2015-12-03 at 12 06 25 pm

Since there is no content to the right of the body anymore, we should increase the width so that it fills that area, for a better reading experience. Something like this:

screen shot 2015-12-03 at 12 08 01 pm

Sticky header jump

Viewing in safari, the header has a sort of weird jump when you scroll down, any way to get rid of it?

(Tried taking a screen rec but it didn't really work).

Inconsistent link hovers

Body links should have the same hover state as nav links (text and underline should hover to purple).

screen shot 2015-06-15 at 6 24 29 pm

Hanging punctuation

Lists have some ugly indentation going on. Personally i prefer hanging the bullets and numbers, but I would also just take the bullets and numbers lined up with the text body.

image

Footer links

Footer links should be on the right side of the logo (same hoizontal position as the top nav links) and be aligned centered on the logo.

screen shot 2015-08-10 at 2 39 11 pm

screen shot 2015-08-10 at 11 10 35 pm

Switch back to the Artsy OSS Yaml

There's a lot of work done here that should be done by the pre-processor, because we're not putting in the repos on page build we have 3-4 different javascript libs, then every user has to parse a giant chunk of JSON on opening the OSS page.

This could be done with the existing YAML file, and then a bit of ruby.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.