Git Product home page Git Product logo

songdown-app's Issues

Improve design

The design on the site is a little ugly and needs to be cleaned up.

Chords in brackets

When a user tries to transpose a song which has a line of chords with brackets in it (example below) things get ugly.

(Am C) => ?? ??

firebase

We could use Firebase to store all the songs. This would allow in-browser editing and saving of songs. However, we'd need to sort out a password arrangement or something.

Song Key

Similar to Youtube links it should be possible for a song author to specify the key.

Perhaps there could be a way of figuring out the key. Though my music theory ain't great... :P

Printing

The situation with printing is pretty terrible right now. My solution is thus:

Implement a new page on the express app that is for returning the raw output of the compiler. Use url params to control things like transpose and font size. This way, printing might work on a browser other than Chrome (which, btw, Chrome itself doesn't do it very well anyway).

Print Button

The toolbox needs to implement a print button. Note: there may be some issues here to do with limitations of Radium.

Version

Print the Songdown version at the bottom of each page the app.

songs.json getting cached by browser

We need to append a '?cacheBust=' + (Date.now()) to the URL when we get the songs.json file. It sometimes gets cached by the browser and it never should.

Edit Help

Add a "thing" on the Edit Song page which explains the Songdown syntax.

Sort out CSS

All the CSS for pages is tangled in one file, we need to split things up in a way that makes more sense.

Song Picture

A song could possibly have a picture (maybe the cover of the album it came from?) that's shown in the search results alongside the song's name.

This is a bit far fetched, but it could be a subtle addiction that would add to the look and feel, considering that it all looks a bit boring right now.

Page Reloads

With the recent move back to using just <a>'s for links, the page reloads everytime one is clicked. This be bad. ๐Ÿ‘Ž

Index page

We need to find a way to make the index page look prettier and be more usable.

Link to PDF

Should implement a "link to PDF" so that proper sheet music can be attached to each song.

Frontend JavaScript stuff

We may need to organize the frontend code better. A JS framework like Angular, Ember or Backbone might be needed.

templates.js

The built templates.js needs to be placed in the folder for all the built js files. (of course). The reason this doesn't happen was because handlebar-rider wasn't able to create a new file.

The solution is simple: make sure the destination file exists before running handlebar-rider. :)

Youtube links

Youtube links should be able to be added to songs.

Font Size

The toolbox needs font size controls.

Searching

The index page is only going to get bigger and bigger. We need a way to search through it.

404 page

Implement a page for when a song that doesn't exist is attempted to be viewed or edited.

Front Matter

Use Jekyll style front matter to add additional information to a song such as:

  • youtube link
  • key of the song
  • etc etc

Could possibly use the front-matter npm module for this.

Look 'n' Feel

Need to figure out how to make the application seem cool. Eg, add in animations and more it more colorful.

Theme Selector

Split the code up and move the theme selector stuff into a separate file so that it can be used in two places effectively.

404 page

There needs to be a 404 page for when a user tries to view a song which doesn't exist.

Package the Packager

This ideas has a couple steps.

  1. Put the packager script into a separate package.
  2. Bundle it with songdown-app so that it can be run with a higher chance of working.

I want to do this so that the app can boot up using a local songdown-songs repo but if that repo hasn't had an npm install done on it, it'll still work.

Toolbox

The Song view needs to have a tool box. A dialog of some kind would suffice. This toolbox needs to contain all the settings the song view has, such as:

  • Font Size
  • Theme Selector (#2)
  • Print Button
  • Edit Button
  • Transpose Controls
  • Youtube Video (#15)
  • Tags (#19)
  • Song Key (#16)

These won't all be able to be implemented at once (hence the unimplemented ones are separate issues). Otherwise, all that's required is some front end UI work and copy/pasting the code from where it used to be.

Links

Links on the main page need to be actual <a> tags so that a user can open them in a new tab properly.

Document title

Set the document title to the currently selected song.

Tags

Songs should be able to have tags. We could show a tag cloud for ease of searching by tag.

Clean this mess up

This project is in a bad shape atm. Need to spend some serious effort on cleaning it up.

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.