Better interface overall
This commit is contained in:
parent
db4ee348a0
commit
b789471acc
@ -24,6 +24,4 @@ pygmentize -S dracula -f html -a .codehilite > styles.css
|
||||
* Replace all css for .codehilite in src/static/main.css with what's in styles.css
|
||||
|
||||
## Future features, todo
|
||||
* A squirrel ascii picture somewhere in the page :3
|
||||
* A link "export all in markdown"
|
||||
* Replace pickle with sqlite or smth
|
||||
|
BIN
data/notes.pickle
Normal file
BIN
data/notes.pickle
Normal file
Binary file not shown.
BIN
src/__pycache__/classes.cpython-39.pyc
Normal file
BIN
src/__pycache__/classes.cpython-39.pyc
Normal file
Binary file not shown.
BIN
src/__pycache__/funcs.cpython-39.pyc
Normal file
BIN
src/__pycache__/funcs.cpython-39.pyc
Normal file
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
#coding: utf-8
|
||||
from flask import Flask, render_template, Markup, request, redirect, url_for
|
||||
from classes import note
|
||||
from funcs import dumpnotes, getnotes, catnotes, delnote, findnote, addnote, mknotedir
|
||||
from funcs import dumpnotes, getnotes, catnotes, delnote, findnote, addnote, mknotedir, exportnotes
|
||||
|
||||
#!---------- squiNotes.py ----------
|
||||
# My notes-taking app
|
||||
@ -32,6 +32,11 @@ def render():
|
||||
|
||||
return render_template("homepage.html", nr = catnotes(getnotes()))
|
||||
|
||||
#Export mode
|
||||
@app.route('/export', methods=['GET'])
|
||||
def rawnotes():
|
||||
return render_template("export.html", rawnotes = exportnotes())
|
||||
|
||||
#Edition mode
|
||||
@app.route('/edit', methods=['GET', 'POST'])
|
||||
def edit():
|
||||
|
BIN
src/data/notes.pickle
Normal file
BIN
src/data/notes.pickle
Normal file
Binary file not shown.
18
src/funcs.py
18
src/funcs.py
@ -76,3 +76,21 @@ def addnote(mynote: note):
|
||||
notes.append(mynote)
|
||||
notes = sorted(notes, key=lambda note: note.modtime, reverse=True)
|
||||
dumpnotes(notes)
|
||||
|
||||
def exportnotes():
|
||||
"""
|
||||
Export our notes in markdown, one after the other.
|
||||
"""
|
||||
notes = getnotes()
|
||||
rawtext = ""
|
||||
for note in notes:
|
||||
rawtext += f"#{note.title}\n"
|
||||
rawtext += f"* Created: {note.rendertime(note.createtime)}\n"
|
||||
rawtext += f"* Modified: {note.rendertime(note.modtime)}\n"
|
||||
rawtext += f"{note.text}\n"
|
||||
rawtext += f"-----\n\n"
|
||||
|
||||
return rawtext
|
||||
|
||||
return
|
||||
|
||||
|
@ -41,9 +41,25 @@ button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 3px dotted;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #8be9fd;
|
||||
text-decoration: underline;
|
||||
font-style: italic;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.exportlink {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.pagetitle {
|
||||
font-size: 3em;
|
||||
color: #ff79c6;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
@ -71,18 +87,20 @@ button {
|
||||
*/
|
||||
|
||||
.text {
|
||||
width: 100%;
|
||||
background: #44475a;
|
||||
color: #f8f8f2;
|
||||
border-radius: 5px;
|
||||
border-style: none;
|
||||
outline: none;
|
||||
border-width: 1px;
|
||||
height: 200px;
|
||||
height: 80%;
|
||||
font-size: 15px;
|
||||
-webkit-box-shadow: 0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 100%;
|
||||
background: #44475a;
|
||||
color: #f8f8f2;
|
||||
border-radius: 5px;
|
||||
@ -95,6 +113,10 @@ button {
|
||||
-webkit-box-shadow: 0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);
|
||||
}
|
||||
|
||||
.rawtext {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
/* Syntax highlighting */
|
||||
pre { line-height: 125%; }
|
||||
td.linenos .normal { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; }
|
||||
|
@ -11,7 +11,7 @@
|
||||
<div class="div1">
|
||||
<form action="." method="POST">
|
||||
<textarea type="text" name="title" class="title">{{ ntitle }}</textarea><br>
|
||||
<textarea type="text" name="text" rows = "50" cols = "60*" class="text">{{ ntext }}</textarea><br>
|
||||
<textarea type="text" name="text" cols = "60*" class="text">{{ ntext }}</textarea><br>
|
||||
<button type="submit" name="submit">OK</button>
|
||||
<div class="notetime">Note : you can drag the textbox to make it bigger.</div>
|
||||
</form>
|
||||
|
13
src/templates/export.html
Normal file
13
src/templates/export.html
Normal file
@ -0,0 +1,13 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='styles/main.css') }}" type="text/css" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<!--<link href='https://fonts.googleapis.com/css?family=Source Sans Pro' rel='stylesheet'> -->
|
||||
<title>sqnotes</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="rawtext">
|
||||
{{ rawnotes }}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -7,19 +7,24 @@
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1 class="pagetitle">$ ~/sqnotes</h1>
|
||||
<div class="div1">
|
||||
<h1 class="pagetitle">$ ~/sqnotes</h1><a class="exportlink" href="{{ url_for('rawnotes') }}">Raw notes</a>
|
||||
<form action="." method="POST">
|
||||
<input type="text" name="title" class="title" placeholder="Title"><br>
|
||||
<textarea type="text" name="text" rows = "5" cols = "60*" class="text" placeholder="Text"></textarea><br>
|
||||
<button type="submit" name="submit">Post</button>
|
||||
<div class="notetime">Note : you can drag the textbox to make it bigger.</div>
|
||||
<div class="notetime">Note : you can drag the textbox to make it bigger. Scroll down to see your previous notes.</div>
|
||||
</form>
|
||||
<br>
|
||||
{{ nr }}
|
||||
<div>
|
||||
|
||||
</body>
|
||||
<footer>
|
||||
<hr>
|
||||
<div class="notetime">
|
||||
<p>
|
||||
You've reached the bottom. Made by Squip, 2022.
|
||||
</p>
|
||||
</div>
|
||||
</meta>
|
||||
</html>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user