diff options
author | 2018-04-07 15:33:20 +0100 | |
---|---|---|
committer | 2018-04-07 15:33:20 +0100 | |
commit | 004d9e30eb02457af7db72a144628d3292af6431 (patch) | |
tree | 8e4ff646502c5e553008e73a8c052e639cde43dc | |
parent | Considerable progress on the wiki (diff) |
Display improvements
-rw-r--r-- | pysite/views/wiki/edit.py | 4 | ||||
-rw-r--r-- | pysite/views/wiki/page.py | 4 | ||||
-rw-r--r-- | templates/wiki/base.html | 15 | ||||
-rw-r--r-- | templates/wiki/index.html | 9 | ||||
-rw-r--r-- | templates/wiki/page_edit.html | 16 | ||||
-rw-r--r-- | templates/wiki/page_view.html | 6 |
6 files changed, 33 insertions, 21 deletions
diff --git a/pysite/views/wiki/edit.py b/pysite/views/wiki/edit.py index 4a87044c..089da58d 100644 --- a/pysite/views/wiki/edit.py +++ b/pysite/views/wiki/edit.py @@ -20,14 +20,16 @@ class EditView(RouteView, DBMixin): def get(self, page): rst = "" title = "" + preview = "<p>Preview will appear here.</p>" obj = self.db.get(self.table_name, page) if obj: rst = obj["rst"] title = obj["title"] + preview = obj["html"] - return self.render("wiki/page_edit.html", page=page, rst=rst, title=title) + return self.render("wiki/page_edit.html", page=page, rst=rst, title=title, preview=preview) @require_roles(*ALL_STAFF_ROLES) @csrf diff --git a/pysite/views/wiki/page.py b/pysite/views/wiki/page.py index 66afd283..aa26a725 100644 --- a/pysite/views/wiki/page.py +++ b/pysite/views/wiki/page.py @@ -19,10 +19,10 @@ class PageView(RouteView, DBMixin): if obj is None: if self.is_staff(): - return redirect(url_for("wiki.edit", page=page)) + return redirect(url_for("wiki.edit", page=page, can_edit=False)) raise NotFound() - return self.render("wiki/page_view.html", page=page, data=obj) + return self.render("wiki/page_view.html", page=page, data=obj, can_edit=self.is_staff()) def is_staff(self): if not self.logged_in: diff --git a/templates/wiki/base.html b/templates/wiki/base.html index 32d58341..dd3c1dff 100644 --- a/templates/wiki/base.html +++ b/templates/wiki/base.html @@ -26,6 +26,21 @@ <div class="uk-flex uk-flex-row" style="height: 100%;"> <div class="uk-card uk-card-body uk-flex-left uk-flex"> <ul class="uk-nav-default uk-nav-parent-icon" uk-nav> + {% if can_edit and current_page == "page" %} + <li> + <a href="{{ url_for("wiki.edit", page=page) }}"> + <i class="fas fa-pencil-alt"></i> Edit Page + </a> + </li> + <li class="uk-nav-divider"></li> + {% elif current_page == "edit" %} + <li> + <a href="{{ url_for("wiki.page", page=page) }}"> + <i class="fas fa-arrow-left fa-fw"></i> View Page + </a> + </li> + <li class="uk-nav-divider"></li> + {% endif %} <li class="uk-active"><a href="#">Placeholder</a></li> <li class="uk-parent"> <a href="#">Parent</a> diff --git a/templates/wiki/index.html b/templates/wiki/index.html deleted file mode 100644 index 27e94d61..00000000 --- a/templates/wiki/index.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "wiki/base.html" %} -{% block title %}Wiki | Home{% endblock %} -{% block og_title %}Wiki | Home{% endblock %} -{% block og_description %}Landing page for the wiki{% endblock %} -{% block content %} - <h1 class="uk-title uk-text-center"> - Placeholder text. - </h1> -{% endblock %}
\ No newline at end of file diff --git a/templates/wiki/page_edit.html b/templates/wiki/page_edit.html index 37aadc13..7610be34 100644 --- a/templates/wiki/page_edit.html +++ b/templates/wiki/page_edit.html @@ -1,6 +1,6 @@ {% extends "wiki/base.html" %} -{% block title %}Wiki | Home{% endblock %} -{% block og_title %}Wiki | Home{% endblock %} +{% block title %}Wiki | Edit: {{ page }}{% endblock %} +{% block og_title %}Wiki | Edit: {{ page }}{% endblock %} {% block og_description %}Landing page for the wiki{% endblock %} {% block extra_head %} <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.3.3/ace.js" type="application/javascript"></script> @@ -17,17 +17,17 @@ <input class="uk-button uk-button-primary" type="submit" value="Save" /> </div> <div class="uk-width-1-1"> - <div id="editor" class="uk-textarea" style="resize: vertical; min-height: 10rem;">{{ rst }}</div> + <div id="editor" class="uk-textarea" style="resize: vertical; min-height: 15rem;">{{ rst }}</div> <input type="hidden" name="rst" id="rst" /> </div> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/> </form> - <h2 class="uk-h2">Preview</h2> + <h2>Preview</h2> - <div id="preview-div"> - <p>Preview will appear here.</p> + <div class="uk-alert preview-div" style="padding: 1rem 1rem 0.1rem;"> + {{ preview | safe }} </div> <script type="application/javascript"> @@ -69,7 +69,11 @@ let timer; editor.session.setMode("ace/mode/rst"); + editor.session.setUseWrapMode(true); + editor.setTheme("ace/theme/iplastic"); + editor.setShowPrintMargin(false); + editor.on("input", function() { document.getElementById("rst").value = editor.getValue(); diff --git a/templates/wiki/page_view.html b/templates/wiki/page_view.html index 98c6f4cd..9c49a09e 100644 --- a/templates/wiki/page_view.html +++ b/templates/wiki/page_view.html @@ -1,7 +1,7 @@ {% extends "wiki/base.html" %} -{% block title %}Wiki | Home{% endblock %} -{% block og_title %}Wiki | Home{% endblock %} -{% block og_description %}Landing page for the wiki{% endblock %} +{% block title %}Wiki | {{ data["title"] }}{% endblock %} +{% block og_title %}Wiki | {{ data["title"] }}{% endblock %} +{% block og_description %}{% endblock %} {% block content %} <div class="uk-container uk-container-small"> <h2 class="uk-title"> |