some UI work, editPOST handler
This commit is contained in:
15
template/views/base.html.twig
Normal file
15
template/views/base.html.twig
Normal file
@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{% block lang %}{% endblock %}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
{% block meta %}{% endblock %}
|
||||
{% block css %}{% endblock %}
|
||||
{% block csslocal %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
{% block body %}{% endblock %}
|
||||
{% block js %}{% endblock %}
|
||||
{% block jslocal %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
22
template/views/layout-semantic2.html.twig
Normal file
22
template/views/layout-semantic2.html.twig
Normal file
@ -0,0 +1,22 @@
|
||||
{% extends "base.html.twig" %}
|
||||
{% block meta %}
|
||||
{% endblock %}
|
||||
{% block css %}
|
||||
<link rel="stylesheet" href="/css/semantic.css">
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<div class="ui stacked grid">
|
||||
<div class="two wide column">
|
||||
{% block left %}{% endblock %}
|
||||
</div>
|
||||
<div class="fourteen wide column">
|
||||
{% block header %}{% endblock %}
|
||||
{% block middle %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% block footer %}{% endblock %}
|
||||
{% endblock %}
|
||||
{% block js %}
|
||||
<script src="/js/jquery/jquery.js"></script>
|
||||
<script src="/js/semantic/semantic.js"></script>
|
||||
{% endblock %}
|
40
template/views/wiki/create.html.twig
Normal file
40
template/views/wiki/create.html.twig
Normal file
@ -0,0 +1,40 @@
|
||||
{% extends "layout-semantic2.html.twig" %}
|
||||
{% block csslocal %}
|
||||
<link rel="stylesheet" href="/css/simplemde.min.css">
|
||||
{% endblock %}
|
||||
{% block middle %}
|
||||
<div class="ui segment">
|
||||
<textarea id="text"></textarea>
|
||||
</div>
|
||||
<div class="ui segment">
|
||||
<button class="ui primary basic button" onclick="saveChanges()">Save article</button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block jslocal %}
|
||||
<script src="/js/simplemde/simplemde.min.js"></script>
|
||||
<script>
|
||||
var simplemde;
|
||||
simplemde = new SimpleMDE({
|
||||
initialValue: '{{ revision.Text }}',
|
||||
hideIcons: ['guide', 'side-by-side', 'link', 'image', 'horizontal-rule'],
|
||||
showIcons: ['bold', 'italic', 'heading', 'heading-smaller', 'heading-bigger',
|
||||
'heading-1', 'heading-2', 'heading-3', 'code', 'quote', 'unordered-list', 'ordered-list',
|
||||
'clean-block', 'table', 'preview'],
|
||||
spellChecker: false
|
||||
});
|
||||
|
||||
function saveChanges() {
|
||||
var payload = {
|
||||
action: "create",
|
||||
termName: window.location.pathname,
|
||||
text: simplemde.value()
|
||||
};
|
||||
|
||||
var xhr = $.post(window.location.pathname, payload);
|
||||
xhr.done(function (data) {
|
||||
console.log(data);
|
||||
//window.location.href= '/wiki/';
|
||||
})
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
55
template/views/wiki/edit.html.twig
Normal file
55
template/views/wiki/edit.html.twig
Normal file
@ -0,0 +1,55 @@
|
||||
{% extends "layout-semantic2.html.twig" %}
|
||||
{% block csslocal %}
|
||||
<link rel="stylesheet" href="/css/simplemde.min.css">
|
||||
{% endblock %}
|
||||
{% block header %}
|
||||
<div class="ui top attached tabular menu">
|
||||
<a class="active item" href="/wiki/{{ term.Slug }}?action=talk">Article</a>
|
||||
<a class="item" href="/wiki/{{ term.Slug }}?action=talk">Talk</a>
|
||||
<div class="right menu">
|
||||
<a class="item" href="/wiki/{{ term.Slug }}">Read</a>
|
||||
<a class="active item" href="/wiki/{{ term.Slug }}?action=edit">Edit</a>
|
||||
<a class="item" href="/wiki/{{ term.Slug }}?action=revisions">View History</a>
|
||||
<div class="item">
|
||||
<div class="ui transparent icon input">
|
||||
<input placeholder="Search wiki" type="text">
|
||||
<i class="search link icon"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block middle %}
|
||||
<div class="ui bottom attached segment">
|
||||
<textarea id="text">{{ revision.Text }}</textarea>
|
||||
</div>
|
||||
<div class="ui segment">
|
||||
<button class="ui primary basic button" onclick="saveChanges()">Save changes</button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block jslocal %}
|
||||
<script src="/js/simplemde/simplemde.min.js"></script>
|
||||
<script>
|
||||
var simplemde;
|
||||
simplemde = new SimpleMDE({
|
||||
hideIcons: ['guide', 'side-by-side', 'link', 'image', 'horizontal-rule'],
|
||||
showIcons: ['bold', 'italic', 'heading', 'heading-smaller', 'heading-bigger',
|
||||
'heading-1', 'heading-2', 'heading-3', 'code', 'quote', 'unordered-list', 'ordered-list',
|
||||
'clean-block', 'table', 'preview'],
|
||||
spellChecker: false
|
||||
});
|
||||
|
||||
function saveChanges() {
|
||||
var payload = {
|
||||
action: "edit",
|
||||
termID: '{{ term.ID.Hex }}',
|
||||
text: simplemde.value()
|
||||
};
|
||||
|
||||
var xhr = $.post('/wiki/{{ term.Slug }}', payload);
|
||||
xhr.done(function () {
|
||||
window.location.href= '/wiki/{{ term.Slug }}';
|
||||
})
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
10
template/views/wiki/not-found.html.twig
Normal file
10
template/views/wiki/not-found.html.twig
Normal file
@ -0,0 +1,10 @@
|
||||
{% extends "layout-semantic2.html.twig" %}
|
||||
{% block title %}{{ term }}{% endblock %}
|
||||
{% block middle %}
|
||||
From wiki, the free encyclopedia<br>
|
||||
<h1>{{ term }}</h1>
|
||||
<p>
|
||||
wiki does not have an article with the exact name.<br>
|
||||
Would you like to <a href="/wiki/{{ path }}?action=create">create</a> it?
|
||||
</p>
|
||||
{% endblock %}
|
67
template/views/wiki/show.html.twig
Normal file
67
template/views/wiki/show.html.twig
Normal file
@ -0,0 +1,67 @@
|
||||
{% extends "layout-semantic2.html.twig" %}
|
||||
{% block title %}{{ term.Name }}{% endblock %}
|
||||
{% block header %}
|
||||
<div class="ui top attached tabular menu">
|
||||
<a class="active item" href="/wiki/{{ term.Slug }}?action=talk">Article</a>
|
||||
<a class="item" href="/wiki/{{ term.Slug }}?action=talk">Talk</a>
|
||||
<div class="right menu">
|
||||
<a class="active item" href="/wiki/{{ term.Slug }}">Read</a>
|
||||
<a class="item" href="/wiki/{{ term.Slug }}?action=edit">Edit</a>
|
||||
<a class="item" href="/wiki/{{ term.Slug }}?action=revisions">View History</a>
|
||||
<div class="item">
|
||||
<div class="ui transparent icon input">
|
||||
<input placeholder="Search wiki" type="text">
|
||||
<i class="search link icon"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block middle %}
|
||||
<div class="ui bottom attached segment">
|
||||
<h1 class="ui header">{{ term.Name }}</h1>
|
||||
<small>From wiki, the free encyclopedia</small>
|
||||
<br>
|
||||
{{ revision.HTML | markdown }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block left %}
|
||||
<div class="ui padded grid">
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<img class="ui image" src="http://placehold.it/135x155">
|
||||
<div class="ui link list">
|
||||
<div class="header">Main page</div>
|
||||
<a class="item">Contents</a>
|
||||
<a class="item">Featured content</a>
|
||||
<a class="item">Current events</a>
|
||||
<a class="item">Random article</a>
|
||||
<a class="item">Donate to Wiki</a>
|
||||
<a class="item">Wikipedia store</a>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
<div class="ui link list">
|
||||
<div class="header">Interaction</div>
|
||||
<a class="item">Help</a>
|
||||
<a class="item">About Wiki</a>
|
||||
<a class="item">Community portal</a>
|
||||
<a class="item">Recent changes</a>
|
||||
<a class="item">Contact page</a>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
<div class="ui link list">
|
||||
<div class="header">Tools</div>
|
||||
<a class="item">What links here</a>
|
||||
<a class="item">Related changes</a>
|
||||
<a class="item">Upload file</a>
|
||||
<a class="item">Special pages</a>
|
||||
<a class="item">Permanent link</a>
|
||||
<a class="item">Page information</a>
|
||||
<a class="item">Wikidata item</a>
|
||||
<a class="item">Cite this page</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user