diff options
Diffstat (limited to '')
| -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"> | 
