Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/audiodude/best-albums

Static website, served through netlify, for representing the Best Albums in the Universe
https://github.com/audiodude/best-albums

Last synced: 3 months ago
JSON representation

Static website, served through netlify, for representing the Best Albums in the Universe

Awesome Lists containing this project

README

        

--**This is the original codebase for BAITU. It has been largely replaced by the headless CMS version [here](https://github.com/audiodude/best-albums-headless)**--

# Website for bestalbumsintheuniverse.com
The site is completely static, with all features being implemented in
Javascript. The albums are read from the JSON file albums.json which is
generated by jekyll from the _albums collection, which contains markdown files
with front matter for each album. The contents of the markdown file are the
album description, but the front matter contains data that is critical to
rendering the album on the site, such as the the spotify link and artist name.

## Re-generating the initial list of albums

To generate the intial list of albums, run the following command from the root
of the project:

`$ ruby _ext/process_tumblr_dump.rb _ext/best-albums-src.json > albums.json`

## Adding a new album to the list

Simply create a new file in the _albums directory. It should be of the format
`artist-name-then-album-name-like-this.md'. The file name will be the unique
identifier for the album. Notice the '.md' file extension: this is a markdown
file. In fact, it is very similar to Jekyll blog post files, in that it has YAML
front matter and a Markdown payload.

To see some of the fields that are supported, simply look at an existing entry:

```
---
artist: Rancid
album: ...And Out Come the Wolves
link: http://www.amazon.com/gp/product/B000001IQH/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B000001IQH&linkCode=as2&tag=besalbintheun-20&linkId=JU5NSW55HEMEZ4ZM
spotify_id: 596cCa6FfamS1WvGbIyFGl
photo_url_sm: http://i.imgur.com/wqOmMu3s.jpg
photo_url_lg: http://i.imgur.com/wqOmMu3l.jpg
---
Synopsis goes here and [uses Markdown](http://daringfireball.net/projects/markdown/syntax)
```

In some cases it may be necessary to quote the fields in the YAML section:

```
album: 'Clouded: The Early Years'
```

## Publishing the site

The site was originally hosted on a gh-pages branch (see [Github Pages](https://pages.github.com/)), but it was switched to [Pubstorm](http://www.pubstorm.com/) because of the superior support for SSL. As of November 2016, Pubstorm has shut down and the site is now hosted on [Netlify](http://www.netlify.com). To publish the site, you must first install [Jekyll](https://jekyllrb.com/) and its dependencies from the included Gemfile:

`$ bundle install`

Then run the command to generate a static version of the site in the _site directory:

`$ bundle exec jekyll build`

Next, once you [have the Netlify CLI installed](https://www.netlify.com/docs/) you can simply:

`$ netlify deploy`

This of course assumes you are logged in with an account that has authority to publish to the main site URL as defined in the .netlify file.

# License

MIT License, see LICENSE file.