From 12d51dd7d21d071a00b11b500a9b0fb4482163a1 Mon Sep 17 00:00:00 2001 From: Effie Date: Wed, 7 Jun 2023 20:02:10 +1000 Subject: [PATCH] adds nav to the header --- app.py | 29 ++++++++++-------- reference_clips.ods | Bin 24706 -> 26474 bytes static/style.css | 2 ++ templates/album.html | 16 ++++++++++ templates/album.jinja | 16 ---------- templates/base.html | 17 ++++++++++ templates/base.jinja | 17 ---------- templates/{home.jinja => home.html} | 2 +- templates/motif.html | 23 ++++++++++++++ templates/motif.jinja | 22 ------------- .../{motifindex.jinja => motifindex.html} | 4 +-- templates/nav.html | 23 ++++++++++++++ templates/nav.jinja | 18 ----------- templates/{song.jinja => song.html} | 20 ++++++------ templates/{songindex.jinja => songindex.html} | 4 +-- 15 files changed, 113 insertions(+), 100 deletions(-) create mode 100644 templates/album.html delete mode 100644 templates/album.jinja create mode 100644 templates/base.html delete mode 100644 templates/base.jinja rename templates/{home.jinja => home.html} (88%) create mode 100644 templates/motif.html delete mode 100644 templates/motif.jinja rename templates/{motifindex.jinja => motifindex.html} (80%) create mode 100644 templates/nav.html delete mode 100644 templates/nav.jinja rename templates/{song.jinja => song.html} (64%) rename templates/{songindex.jinja => songindex.html} (66%) diff --git a/app.py b/app.py index b60900f..4da3510 100644 --- a/app.py +++ b/app.py @@ -10,17 +10,20 @@ app = flask.Flask('songbook') # db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) -# return flask.render_template('.jinja', +# return flask.render_template('.html', # ) # HOMEPAGE +def openbook(): + return sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) + @app.route('/') def homepage(): - return flask.render_template('home.jinja') + return flask.render_template('home.html') # SONG INDEX @@ -31,7 +34,7 @@ def song_redirect(): @app.route('/index') def songindex(): - db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) + db = openbook() album_info = db.execute(''' select @@ -56,7 +59,7 @@ def songindex(): track ''').fetchall() - return flask.render_template('songindex.jinja', + return flask.render_template('songindex.html', album_info=album_info, song_info=song_info ) @@ -66,7 +69,7 @@ def songindex(): @app.route('/motif') def motifindex(): - db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) + db = openbook() category_info = db.execute(''' select @@ -86,7 +89,7 @@ def motifindex(): id ''').fetchall() - return flask.render_template('motifindex.jinja', + return flask.render_template('motifindex.html', category_info = category_info, motif_info = motif_info ) @@ -96,7 +99,7 @@ def motifindex(): @app.route('/album/') def albumpage(id): - db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) + db = openbook() album_info = db.execute(''' select @@ -124,7 +127,7 @@ def albumpage(id): (id,) ).fetchall() - return flask.render_template('album.jinja', + return flask.render_template('album.html', album_info=album_info, song_info=song_info ) @@ -134,7 +137,7 @@ def albumpage(id): @app.route('/motif/') def motifpage(id): - db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) + db = openbook() # query motif @@ -163,12 +166,13 @@ def motifpage(id): where motif_id = ? order by + feature desc, song_id ''', (id,) ).fetchall() - return flask.render_template('motif.jinja', + return flask.render_template('motif.html', name=name, clip_info=clip_info ) @@ -178,7 +182,7 @@ def motifpage(id): @app.route('/song/') def songpage(id): - db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True) + db = openbook() # query song name @@ -250,12 +254,13 @@ def songpage(id): where song_id = ? order by + feature desc, song_id ''', (id,) ).fetchall() - return flask.render_template('song.jinja', + return flask.render_template('song.html', name=name, id=id, album_info=album_info, diff --git a/reference_clips.ods b/reference_clips.ods index 69fca46a52b941cf2e31bfb99a1f6747620e917b..6246d33d085f69ed4a34472231b03b2bf21f7796 100644 GIT binary patch delta 24571 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 diff --git a/static/style.css b/static/style.css index e69de29..c10a07b 100644 --- a/static/style.css +++ b/static/style.css @@ -0,0 +1,2 @@ +body{max-width:50rem;margin-left:auto;margin-right:auto;} +nav{} \ No newline at end of file diff --git a/templates/album.html b/templates/album.html new file mode 100644 index 0000000..86d0853 --- /dev/null +++ b/templates/album.html @@ -0,0 +1,16 @@ +{% extends "nav.html" %} +{% block title %}{{ album_info[0] }}{% endblock %} + +{% block content %} + +

{{ album_info[0] }}

+

Released: {{ album_info[1] }} + + +

+ +{% endblock %} \ No newline at end of file diff --git a/templates/album.jinja b/templates/album.jinja deleted file mode 100644 index c6bb87a..0000000 --- a/templates/album.jinja +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "nav.jinja" %} -{% block title %}{{ album_info[0] }}{% endblock %} - -{% block content %} - -

{{ album_info[0] }}

-

Released: {{ album_info[1] }} - - -

- -{% endblock %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..cf2dc21 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,17 @@ + + + + + {% block title %}{% endblock %} - Eorzea Songbook + + + + + + + + {% block basecontent %}{% endblock %} + + + + \ No newline at end of file diff --git a/templates/base.jinja b/templates/base.jinja deleted file mode 100644 index 39999e7..0000000 --- a/templates/base.jinja +++ /dev/null @@ -1,17 +0,0 @@ - - - - - {% block title %}{% endblock %} - Eorzea Songbook - - - - - - - - {% block basecontent %}{% endblock %} - - - - \ No newline at end of file diff --git a/templates/home.jinja b/templates/home.html similarity index 88% rename from templates/home.jinja rename to templates/home.html index 8c27b95..bf0111d 100644 --- a/templates/home.jinja +++ b/templates/home.html @@ -1,4 +1,4 @@ -{% extends "base.jinja" %} +{% extends "base.html" %} {% block title %}Home{% endblock %} {% block basecontent %} diff --git a/templates/motif.html b/templates/motif.html new file mode 100644 index 0000000..cb96ad7 --- /dev/null +++ b/templates/motif.html @@ -0,0 +1,23 @@ +{% extends "nav.html" %} + +{% block title %}{{ name }}{% endblock %} + +{% block content %} +

Motif: {{ name }}

+ + + +

Clips:

+
    +{% for song_id, motif_id, song in clip_info %} +
  • + + {{ song }} +
  • +{% endfor %} +
+ +{% endblock %} \ No newline at end of file diff --git a/templates/motif.jinja b/templates/motif.jinja deleted file mode 100644 index e592fc7..0000000 --- a/templates/motif.jinja +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "nav.jinja" %} - -{% block title %}{{ name }}{% endblock %} - -{% block content %} -

Motif: {{ name }}

- - - -

Clips:

-
    -{% for song_id, motif_id, song in clip_info %} -
  • - - {{ song }} -
  • -{% endfor %} - -{% endblock %} \ No newline at end of file diff --git a/templates/motifindex.jinja b/templates/motifindex.html similarity index 80% rename from templates/motifindex.jinja rename to templates/motifindex.html index c865406..119f4f5 100644 --- a/templates/motifindex.jinja +++ b/templates/motifindex.html @@ -1,4 +1,4 @@ -{% extends "nav.jinja" %} +{% extends "nav.html" %} {% block title %}Motif Index{% endblock %} {% block content %} @@ -7,7 +7,7 @@

    {{ name }}

      {% for motif_id, motif, category in motif_info if category == category_id %} -
    • {{ motif }}
    • +
    • {{ motif }}
    • {% endfor %}
    {% endfor %} diff --git a/templates/nav.html b/templates/nav.html new file mode 100644 index 0000000..131d284 --- /dev/null +++ b/templates/nav.html @@ -0,0 +1,23 @@ +{% extends "base.html" %} + +{% block basecontent %} + +
    + +
    + +{% block content %}{% endblock %} + +
    + +

    The footer will be in here, when it's ready.

    + +
    + +{% endblock basecontent %} \ No newline at end of file diff --git a/templates/nav.jinja b/templates/nav.jinja deleted file mode 100644 index 044fe5b..0000000 --- a/templates/nav.jinja +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "base.jinja" %} - -{% block basecontent %} - -
    - -

    The header will be in here. For now, click here to go back to the home page.

    - -
    -{% block content %}{% endblock %} - -
    - -

    The footer will be in here, when it's ready.

    - -
    - -{% endblock basecontent %} \ No newline at end of file diff --git a/templates/song.jinja b/templates/song.html similarity index 64% rename from templates/song.jinja rename to templates/song.html index 243c2d5..0d3bf7b 100644 --- a/templates/song.jinja +++ b/templates/song.html @@ -1,4 +1,4 @@ -{% extends "nav.jinja" %} +{% extends "nav.html" %} {% block title %}{{ name }}{% endblock %} {% block content %} @@ -10,7 +10,7 @@

    Artist:

      {% for name, name_rm, credit in artist_info %} -
    • {{ name_rm }} ({{ name }}): {{ credit }}
    • +
    • {{ name_rm }} ({{ name }}): {{ credit }}
    • {% endfor %}
    @@ -28,13 +28,13 @@

    Clips:

    {% endblock %} diff --git a/templates/songindex.jinja b/templates/songindex.html similarity index 66% rename from templates/songindex.jinja rename to templates/songindex.html index 2467ffe..a84b5db 100644 --- a/templates/songindex.jinja +++ b/templates/songindex.html @@ -1,4 +1,4 @@ -{% extends "nav.jinja" %} +{% extends "nav.html" %} {% block title %}Song Index{% endblock %} {% block content %} @@ -7,7 +7,7 @@

    {{ name }}

    {% endfor %}