firepad + others WIP
This commit is contained in:
parent
ec551ac09d
commit
d72ecf10f0
10 changed files with 778 additions and 651 deletions
|
@ -1,7 +1,8 @@
|
|||
from realms import assets
|
||||
|
||||
assets.register('editor.js',
|
||||
'vendor/localforage/dist/localforage.js',
|
||||
'vendor/store-js/store.js',
|
||||
'vendor/bootbox/bootbox.js',
|
||||
'vendor/ace-builds/src/ace.js',
|
||||
'vendor/ace-builds/src/mode-markdown.js',
|
||||
'vendor/ace-builds/src/ext-keybinding_menu.js',
|
||||
|
|
|
@ -139,11 +139,11 @@ class Wiki():
|
|||
return cached
|
||||
|
||||
# commit = gittle.utils.git.commit_info(self.repo[sha])
|
||||
name = self.cname_to_filename(name).encode('latin-1')
|
||||
filename = self.cname_to_filename(name).encode('latin-1')
|
||||
sha = sha.encode('latin-1')
|
||||
|
||||
try:
|
||||
data = self.gittle.get_commit_files(sha, paths=[name]).get(name)
|
||||
data = self.gittle.get_commit_files(sha, paths=[filename]).get(filename)
|
||||
if not data:
|
||||
return None
|
||||
partials = {}
|
||||
|
@ -153,6 +153,7 @@ class Wiki():
|
|||
for partial_name in meta['import']:
|
||||
partials[partial_name] = self.get_page(partial_name)
|
||||
data['partials'] = partials
|
||||
data['info'] = self.get_history(name, limit=1)[0]
|
||||
return data
|
||||
|
||||
except KeyError:
|
||||
|
@ -175,10 +176,10 @@ class Wiki():
|
|||
new = self.get_page(name, sha=new_sha)
|
||||
return ghdiff.diff(old['data'], new['data'])
|
||||
|
||||
def get_history(self, name):
|
||||
def get_history(self, name, limit=100):
|
||||
file_path = self.cname_to_filename(name)
|
||||
versions = []
|
||||
walker = self.repo.get_walker(paths=[file_path], max_entries=100)
|
||||
walker = self.repo.get_walker(paths=[file_path], max_entries=limit)
|
||||
for entry in walker:
|
||||
change_type = None
|
||||
for change in entry.changes():
|
||||
|
|
|
@ -74,7 +74,12 @@ def edit(name):
|
|||
name = remove_ext(data['name'])
|
||||
content = data.get('data')
|
||||
g.assets['js'].append('editor.js')
|
||||
return render_template('wiki/edit.html', name=name, content=content, sha=data.get('sha'), partials=data.get('partials'))
|
||||
return render_template('wiki/edit.html',
|
||||
name=name,
|
||||
content=content,
|
||||
info=data.get('info'),
|
||||
sha=data.get('sha'),
|
||||
partials=data.get('partials'))
|
||||
else:
|
||||
return redirect(url_for('wiki.create', name=cname))
|
||||
|
||||
|
@ -110,7 +115,10 @@ def create(name):
|
|||
return redirect(url_for('wiki.edit', name=cname))
|
||||
|
||||
g.assets['js'].append('editor.js')
|
||||
return render_template('wiki/edit.html', name=cname, content="")
|
||||
return render_template('wiki/edit.html',
|
||||
name=cname,
|
||||
content="",
|
||||
info={})
|
||||
|
||||
|
||||
@blueprint.route("/", defaults={'name': 'home'})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue