Backend for songs.zachdecook.com
- Index: Gray out songs without key data
| -rw-r--r-- | index.css | 8 | ||||
| -rw-r--r-- | index.less | 7 | ||||
| -rw-r--r-- | page.php | 6 |
3 files changed, 19 insertions, 2 deletions
@@ -19,6 +19,12 @@ pre { .lightbubble:hover { color: #CCDDFF; } +.incomplete a { + color: #888; +} +.incomplete:after { + content: " (incomplete)"; +} .tabs, .chord0, .chordC { @@ -228,4 +234,4 @@ pre { background-color: #d6306b; border-color: #b40e49; } -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBO0VBQ0MsaUJBQUE7RUFDQSxjQUFBOztBQUVEO0FBQWE7RUFDWixjQUFBOztBQUVELFdBQVc7QUFBUSxZQUFZO0VBQzlCLHFCQUFBO0VBQ0Esb0JBQUE7O0FBRUQ7QUFBYSxXQUFXO0VBQ3ZCLGNBQUE7O0FBRUQ7QUFBYyxZQUFZO0VBQzFCLGNBQUE7O0FBU0E7QUFBTztBQUFTOztFQUxmLGNBQUE7RUFPQSxpQkFBQTs7QUFFRDtBQUFTO0FBQVc7RUFUbkIsY0FBQTs7QUFZRDtBQUFTO0FBQVc7RUFabkIsY0FBQTs7QUFlRDtBQUFTO0FBQVU7RUFmbEIsY0FBQTs7QUFrQkQ7QUFBUztBQUFVO0VBbEJsQixjQUFBOztBQXFCRDtBQUFTO0FBQVU7RUFyQmxCLGNBQUE7O0FBd0JEO0FBQVM7QUFBVTs7RUF4QmxCLGNBQUE7O0FBMkJEO0FBQVM7QUFBVTs7RUEzQmxCLGNBQUE7O0FBOEJEO0FBQVM7QUFBVTs7RUE5QmxCLGNBQUE7O0FBaUNEO0FBQVM7QUFBVTs7RUFqQ2xCLGNBQUE7O0FBb0NEO0FBQVU7QUFBVTtFQXBDbkIsY0FBQTs7QUF1Q0Q7QUFBVTtBQUFVO0VBdkNuQixjQUFBOztBQXlERDtFQWJDLGNBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBT0Y7RUFqQkMsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFVRjtFQXBCQyxjQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBSUEsT0FBQztFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQWFGO0VBdkJDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBZ0JGO0VBMUJDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxPQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBbUJGO0VBN0JDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBc0JGO0VBaENDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBeUJGO0VBbkNDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxPQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBNEJGO0VBdENDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBK0JGO0VBekNDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxPQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBa0NGO0VBNUNDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBcUNGO0VBL0NDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxPQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBd0NGO0VBbERDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxNQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUEifQ== */
\ No newline at end of file +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBO0VBQ0MsaUJBQUE7RUFDQSxjQUFBOztBQUVEO0FBQWE7RUFDWixjQUFBOztBQUVELFdBQVc7QUFBUSxZQUFZO0VBQzlCLHFCQUFBO0VBQ0Esb0JBQUE7O0FBRUQ7QUFBYSxXQUFXO0VBQ3ZCLGNBQUE7O0FBRUQ7QUFBYyxZQUFZO0VBQzFCLGNBQUE7O0FBR0EsV0FBWTtFQUNYLFdBQUE7O0FBRUQsV0FBVztFQUNWLFNBQVMsZUFBVDs7QUFTRDtBQUFPO0FBQVM7O0VBTGYsY0FBQTtFQU9BLGlCQUFBOztBQUVEO0FBQVM7QUFBVztFQVRuQixjQUFBOztBQVlEO0FBQVM7QUFBVztFQVpuQixjQUFBOztBQWVEO0FBQVM7QUFBVTtFQWZsQixjQUFBOztBQWtCRDtBQUFTO0FBQVU7RUFsQmxCLGNBQUE7O0FBcUJEO0FBQVM7QUFBVTtFQXJCbEIsY0FBQTs7QUF3QkQ7QUFBUztBQUFVOztFQXhCbEIsY0FBQTs7QUEyQkQ7QUFBUztBQUFVOztFQTNCbEIsY0FBQTs7QUE4QkQ7QUFBUztBQUFVOztFQTlCbEIsY0FBQTs7QUFpQ0Q7QUFBUztBQUFVOztFQWpDbEIsY0FBQTs7QUFvQ0Q7QUFBVTtBQUFVO0VBcENuQixjQUFBOztBQXVDRDtBQUFVO0FBQVU7RUF2Q25CLGNBQUE7O0FBeUREO0VBYkMsY0FBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFPRjtFQWpCQyxjQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBSUEsTUFBQztFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQVVGO0VBcEJDLGNBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFJQSxPQUFDO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBYUY7RUF2QkMsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFnQkY7RUExQkMsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE9BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFtQkY7RUE3QkMsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFzQkY7RUFoQ0MsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUF5QkY7RUFuQ0MsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE9BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUE0QkY7RUF0Q0MsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUErQkY7RUF6Q0MsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE9BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFrQ0Y7RUE1Q0MsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFxQ0Y7RUEvQ0MsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE9BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUF3Q0Y7RUFsREMsY0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUlBLE1BQUM7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQSJ9 */
\ No newline at end of file @@ -45,6 +45,13 @@ pre { color: #CCDDFF; } +.incomplete a{ + color: #888; +} +.incomplete:after{ + content: " (incomplete)"; +} + .chordZ(@color: #BBB){ color: @color; & when(hsvvalue(@color) > 95%) and (lightness(@color) > 51%){ @@ -65,7 +65,11 @@ function toc( $sort ){ } function tocentry( $item ){ - $output = "<li><a href=?song=$item[number]>$item[number]. $item[title]</a>"; + $class = ''; + if ( ! isset( $item['key'] ) ){ + $class = 'incomplete'; + } + $output = "<li class='$class'><a href=?song=$item[number]>$item[number]. $item[title]</a>"; if ( $item['verse'] ){ $output .= "($item[verse])"; } if ( $item['key'] ){ $output .= "($item[key])"; } |