openwrite 0.13.3__tar.gz → 0.13.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openwrite-0.13.3/openwrite.egg-info → openwrite-0.13.4}/PKG-INFO +4 -3
- {openwrite-0.13.3 → openwrite-0.13.4}/README.md +2 -1
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/__init__.py +1 -1
- openwrite-0.13.4/openwrite/static/style/nativeEmoji.min.css +1 -0
- openwrite-0.13.4/openwrite/static/style/themes/paper.css +203 -0
- openwrite-0.13.4/openwrite/templates/edit.html +500 -0
- {openwrite-0.13.3 → openwrite-0.13.4/openwrite.egg-info}/PKG-INFO +4 -3
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/SOURCES.txt +1 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/pyproject.toml +2 -2
- openwrite-0.13.3/openwrite/static/style/nativeEmoji.min.css +0 -1
- openwrite-0.13.3/openwrite/templates/edit.html +0 -223
- {openwrite-0.13.3 → openwrite-0.13.4}/LICENSE +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/MANIFEST.in +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/cli.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/db/__init__.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/db/base.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/gemini_multi.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/gemini_single.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/admin.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/auth.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/blog.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/dashboard.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/federation.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/main.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/upload.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/IBMPlexSans-Regular.ttf +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/Merriweather.ttf +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/avatar.png +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/emoji.json +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/favicon.ico +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/logo.png +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/chart.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/highlight.min.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/nativeEmoji.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/openwrite.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/papaparse.min.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/showdown.min.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/showdown.min.js.map +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/site.compat.min.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/site.min.js +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/blog_design.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/default.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/hl.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/style.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/cyberpunk.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/light.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/obscura.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/stickynote.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/terminal.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/warmnight.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/windows98.css +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/admin.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog_footer.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog_header.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog_preview.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/changepw.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/create.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/dashboard.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/discover.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/footer.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/header.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/import.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/index.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/instances.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/login.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/new_page.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/new_post.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/page_preview.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/post.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/preview.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/register.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/settings.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/stats.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/translations.html +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/create_db.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/db.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/helpers.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/i18n.json +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/models.py +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/dependency_links.txt +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/entry_points.txt +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/requires.txt +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/top_level.txt +0 -0
- {openwrite-0.13.3 → openwrite-0.13.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openwrite
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.4
|
|
4
4
|
License: GNU AFFERO GENERAL PUBLIC LICENSE
|
|
5
5
|
Version 3, 19 November 2007
|
|
6
6
|
|
|
@@ -664,7 +664,7 @@ License: GNU AFFERO GENERAL PUBLIC LICENSE
|
|
|
664
664
|
<https://www.gnu.org/licenses/>.
|
|
665
665
|
|
|
666
666
|
Project-URL: Homepage, https://openwrite.io
|
|
667
|
-
Project-URL:
|
|
667
|
+
Project-URL: Source Code, https://codeberg.org/v0id1st/openwrite
|
|
668
668
|
Requires-Python: >=3.11
|
|
669
669
|
Description-Content-Type: text/markdown
|
|
670
670
|
License-File: LICENSE
|
|
@@ -688,6 +688,7 @@ Requires-Dist: user-agents
|
|
|
688
688
|
Dynamic: license-file
|
|
689
689
|
|
|
690
690
|

|
|
691
|
+
|
|
691
692
|
openwrite is a minimalist blogging platform built for writing freely, hosting independently, and publishing without noise.
|
|
692
693
|
|
|
693
694
|

|
|
@@ -713,7 +714,7 @@ openwrite is a minimalist blogging platform built for writing freely, hosting in
|
|
|
713
714
|
- Lightweight
|
|
714
715
|
- No tracking, only data collected is anonymized(hashed) IP for post view counting and likes
|
|
715
716
|
- Custom CSS per blog
|
|
716
|
-
- Federation using ActivityPub protocol
|
|
717
|
+
- Federation using ActivityPub protocol: Follow and Like
|
|
717
718
|
- Likes system
|
|
718
719
|
- Posts importing from xml/csv
|
|
719
720
|
- Blog themes
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|

|
|
2
|
+
|
|
2
3
|
openwrite is a minimalist blogging platform built for writing freely, hosting independently, and publishing without noise.
|
|
3
4
|
|
|
4
5
|

|
|
@@ -24,7 +25,7 @@ openwrite is a minimalist blogging platform built for writing freely, hosting in
|
|
|
24
25
|
- Lightweight
|
|
25
26
|
- No tracking, only data collected is anonymized(hashed) IP for post view counting and likes
|
|
26
27
|
- Custom CSS per blog
|
|
27
|
-
- Federation using ActivityPub protocol
|
|
28
|
+
- Federation using ActivityPub protocol: Follow and Like
|
|
28
29
|
- Likes system
|
|
29
30
|
- Posts importing from xml/csv
|
|
30
31
|
- Blog themes
|
|
@@ -212,7 +212,7 @@ def create_app(test_config=None):
|
|
|
212
212
|
|
|
213
213
|
trans = g.db.query(Home).filter(Home.type == "translation", Home.language == lang).all()
|
|
214
214
|
|
|
215
|
-
g.version = "0.
|
|
215
|
+
g.version = "0.13.3"
|
|
216
216
|
g.mode = os.getenv("MODE")
|
|
217
217
|
f_abs_path = os.path.abspath(__file__)
|
|
218
218
|
g.mainpath = "/".join(f_abs_path.split("/")[:-1])
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.emoji-picker-container{position:relative}.emoji-picker-trigger{position:absolute;top:5px;left:8px;background:0 0;box-shadow:none;border:none;opacity:.5;cursor:pointer;outline:0!important}.emoji-picker-trigger:hover{opacity:1}.emoji-picker-open .emoji-picker-trigger>svg{opacity:0;visibility:hidden}.emoji-picker-open .emoji-picker-trigger:before{content:"\00D7";position:absolute;font-size:24px;background:#fff;top:-3px;right:10px}.emoji-picker{display:none;z-index:999;width:272px;overflow:hidden;background:#fff;border-radius:5px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);margin-top:8px;outline:0}.emoji-picker-open .emoji-picker{display:block;position:absolute;right:0;top:30px}[data-native-emoji-large]+.emoji-picker{display:block;width:100%;margin-bottom:15px;position:static!important}.emoji-picker-tabs{padding:0;margin:0;display:table;width:100%;background:#eff0f1;list-style:none}.emoji-picker-tabs>li{display:table-cell}.emoji-picker-anchor{display:block;padding:5px;text-align:center;text-decoration:none;font-size:24px;position:initial;opacity:.75}.emoji-picker-anchor:hover{background:rgba(0,0,0,.05);opacity:1}.emoji-picker-anchor.active{background:rgba(0,0,0,.15)}.emoji-picker-list{padding:10px 0;margin:0;margin-left:3%;list-style:none;text-align:left;overflow:scroll;height:200px;}.emoji-picker-list>li{display:inline-block}.emoji-picker-emoji{background:0 0;border:none;-webkit-appearance:none;padding:5px;margin:1px;font-size:24px;line-height:1;border-radius:3px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol'}.emoji-picker-emoji:hover{background:rgba(0,0,0,.07)}.emoji-picker-trigger svg {fill: #fff;}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'IBMPlexSans';
|
|
3
|
+
src: url('/static/IBMPlexSans-Regular.ttf') format('truetype');
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@font-face {
|
|
7
|
+
font-family: 'Merriweather';
|
|
8
|
+
src: url('/static/Merriweather.ttf') format('truetype');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
body {
|
|
12
|
+
background: #f8f8f8;
|
|
13
|
+
color: #1a1a1a;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.container {
|
|
17
|
+
max-width: 800px;
|
|
18
|
+
padding: 1rem 0.5rem;
|
|
19
|
+
font-family: 'Times New Roman', 'Georgia', serif;
|
|
20
|
+
line-height: 1.6;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
h1.blog-name {
|
|
24
|
+
font-family: "Times New Roman", serif;
|
|
25
|
+
color: #000;
|
|
26
|
+
text-shadow: none;
|
|
27
|
+
font-weight: bold;
|
|
28
|
+
text-transform: uppercase;
|
|
29
|
+
letter-spacing: 2px;
|
|
30
|
+
border-bottom: 3px double #000;
|
|
31
|
+
padding-bottom: 0.5rem;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
h1.blog-name a {
|
|
35
|
+
color: #000;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.header {
|
|
39
|
+
border-bottom: 2px solid #000;
|
|
40
|
+
font-family: "Times New Roman", serif;
|
|
41
|
+
background: #fff;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.header #menu a {
|
|
45
|
+
color: #000;
|
|
46
|
+
font-weight: bold;
|
|
47
|
+
text-transform: uppercase;
|
|
48
|
+
font-size: 0.9em;
|
|
49
|
+
letter-spacing: 1px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.header #menu a:hover {
|
|
53
|
+
text-decoration: underline;
|
|
54
|
+
color: #333;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
#menu a svg {
|
|
58
|
+
fill: #000;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
article.post-content {
|
|
62
|
+
color: #1a1a1a;
|
|
63
|
+
background: #fff;
|
|
64
|
+
border-radius: 0;
|
|
65
|
+
padding: 2rem;
|
|
66
|
+
box-shadow: none;
|
|
67
|
+
border: 1px solid #ddd;
|
|
68
|
+
font-size: 1rem;
|
|
69
|
+
text-align: justify;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
article.blog-content {
|
|
73
|
+
border: 2px solid #000;
|
|
74
|
+
padding: 2rem;
|
|
75
|
+
background: #fff;
|
|
76
|
+
border-radius: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
article.blog-content h3 {
|
|
80
|
+
color: #000;
|
|
81
|
+
font-weight: bold;
|
|
82
|
+
text-transform: uppercase;
|
|
83
|
+
letter-spacing: 1px;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
article.post-content a {
|
|
87
|
+
color: #1a1a1a;
|
|
88
|
+
text-decoration: underline;
|
|
89
|
+
text-decoration-color: #1a1a1a;
|
|
90
|
+
font-weight: 500;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
article.post-content a:hover {
|
|
94
|
+
color: #000;
|
|
95
|
+
text-decoration-color: #000;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
article.post-content h1,
|
|
99
|
+
article.post-content h2,
|
|
100
|
+
article.post-content h3,
|
|
101
|
+
article.post-content h4,
|
|
102
|
+
article.post-content h5 {
|
|
103
|
+
color: #000;
|
|
104
|
+
font-weight: bold;
|
|
105
|
+
font-family: "Times New Roman", serif;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
article.post-content h1 {
|
|
109
|
+
font-size: 1.8em;
|
|
110
|
+
border-bottom: 1px solid #000;
|
|
111
|
+
padding-bottom: 0.3em;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
article.post-content h2 {
|
|
115
|
+
font-size: 1.5em;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
article.post-content h3 {
|
|
119
|
+
font-size: 1.3em;
|
|
120
|
+
text-transform: uppercase;
|
|
121
|
+
letter-spacing: 1px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
article.post-content blockquote {
|
|
125
|
+
color: #333;
|
|
126
|
+
border-left: 4px solid #000;
|
|
127
|
+
background: #f5f5f5;
|
|
128
|
+
margin: 1.5em 0;
|
|
129
|
+
padding: 1em 1.5em;
|
|
130
|
+
font-style: italic;
|
|
131
|
+
font-size: 1.1em;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
h1.post-title {
|
|
135
|
+
color: #000;
|
|
136
|
+
font-family: "Times New Roman", serif;
|
|
137
|
+
margin-bottom: 0.3em;
|
|
138
|
+
font-weight: bold;
|
|
139
|
+
font-size: 2.2em;
|
|
140
|
+
line-height: 1.2;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
i.post-date {
|
|
144
|
+
color: #666;
|
|
145
|
+
font-size: 0.9em;
|
|
146
|
+
font-style: italic;
|
|
147
|
+
border-bottom: 1px solid #ddd;
|
|
148
|
+
padding-bottom: 0.5em;
|
|
149
|
+
margin-bottom: 1.5em;
|
|
150
|
+
display: block;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
pre code.hljs {
|
|
154
|
+
background: #f9f9f9;
|
|
155
|
+
border: 1px solid #ddd;
|
|
156
|
+
border-radius: 0;
|
|
157
|
+
font-family: "Courier New", monospace;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
p code {
|
|
161
|
+
background: #f0f0f0;
|
|
162
|
+
color: #000;
|
|
163
|
+
padding: 0.2em 0.4em;
|
|
164
|
+
border-radius: 0;
|
|
165
|
+
font-size: 0.9em;
|
|
166
|
+
font-family: "Courier New", monospace;
|
|
167
|
+
border: 1px solid #ccc;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
svg {
|
|
171
|
+
fill: #000;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
table {
|
|
175
|
+
border-collapse: collapse;
|
|
176
|
+
margin: 1.5em 0;
|
|
177
|
+
background: #fff;
|
|
178
|
+
width: 100%;
|
|
179
|
+
border: 2px solid #000;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
table th,
|
|
183
|
+
table td {
|
|
184
|
+
border: 1px solid #000;
|
|
185
|
+
padding: 0.75em;
|
|
186
|
+
text-align: left;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
table th {
|
|
190
|
+
background: #000;
|
|
191
|
+
color: #fff;
|
|
192
|
+
font-weight: bold;
|
|
193
|
+
text-transform: uppercase;
|
|
194
|
+
letter-spacing: 1px;
|
|
195
|
+
font-size: 0.9em;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
hr {
|
|
199
|
+
border: none;
|
|
200
|
+
height: 2px;
|
|
201
|
+
background: #000;
|
|
202
|
+
margin: 2em 0;
|
|
203
|
+
}
|