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.
Files changed (85) hide show
  1. {openwrite-0.13.3/openwrite.egg-info → openwrite-0.13.4}/PKG-INFO +4 -3
  2. {openwrite-0.13.3 → openwrite-0.13.4}/README.md +2 -1
  3. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/__init__.py +1 -1
  4. openwrite-0.13.4/openwrite/static/style/nativeEmoji.min.css +1 -0
  5. openwrite-0.13.4/openwrite/static/style/themes/paper.css +203 -0
  6. openwrite-0.13.4/openwrite/templates/edit.html +500 -0
  7. {openwrite-0.13.3 → openwrite-0.13.4/openwrite.egg-info}/PKG-INFO +4 -3
  8. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/SOURCES.txt +1 -0
  9. {openwrite-0.13.3 → openwrite-0.13.4}/pyproject.toml +2 -2
  10. openwrite-0.13.3/openwrite/static/style/nativeEmoji.min.css +0 -1
  11. openwrite-0.13.3/openwrite/templates/edit.html +0 -223
  12. {openwrite-0.13.3 → openwrite-0.13.4}/LICENSE +0 -0
  13. {openwrite-0.13.3 → openwrite-0.13.4}/MANIFEST.in +0 -0
  14. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/cli.py +0 -0
  15. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/db/__init__.py +0 -0
  16. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/db/base.py +0 -0
  17. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/gemini_multi.py +0 -0
  18. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/gemini_single.py +0 -0
  19. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/admin.py +0 -0
  20. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/auth.py +0 -0
  21. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/blog.py +0 -0
  22. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/dashboard.py +0 -0
  23. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/federation.py +0 -0
  24. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/main.py +0 -0
  25. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/routes/upload.py +0 -0
  26. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/IBMPlexSans-Regular.ttf +0 -0
  27. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/Merriweather.ttf +0 -0
  28. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/avatar.png +0 -0
  29. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/emoji.json +0 -0
  30. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/favicon.ico +0 -0
  31. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/logo.png +0 -0
  32. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/chart.js +0 -0
  33. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/highlight.min.js +0 -0
  34. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/nativeEmoji.js +0 -0
  35. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/openwrite.js +0 -0
  36. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/papaparse.min.js +0 -0
  37. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/showdown.min.js +0 -0
  38. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/showdown.min.js.map +0 -0
  39. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/site.compat.min.js +0 -0
  40. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/script/site.min.js +0 -0
  41. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/blog_design.css +0 -0
  42. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/default.css +0 -0
  43. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/hl.css +0 -0
  44. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/style.css +0 -0
  45. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/cyberpunk.css +0 -0
  46. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/light.css +0 -0
  47. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/obscura.css +0 -0
  48. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/stickynote.css +0 -0
  49. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/terminal.css +0 -0
  50. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/warmnight.css +0 -0
  51. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/static/style/themes/windows98.css +0 -0
  52. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/admin.html +0 -0
  53. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog.html +0 -0
  54. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog_footer.html +0 -0
  55. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog_header.html +0 -0
  56. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/blog_preview.html +0 -0
  57. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/changepw.html +0 -0
  58. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/create.html +0 -0
  59. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/dashboard.html +0 -0
  60. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/discover.html +0 -0
  61. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/footer.html +0 -0
  62. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/header.html +0 -0
  63. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/import.html +0 -0
  64. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/index.html +0 -0
  65. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/instances.html +0 -0
  66. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/login.html +0 -0
  67. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/new_page.html +0 -0
  68. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/new_post.html +0 -0
  69. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/page_preview.html +0 -0
  70. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/post.html +0 -0
  71. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/preview.html +0 -0
  72. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/register.html +0 -0
  73. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/settings.html +0 -0
  74. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/stats.html +0 -0
  75. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/templates/translations.html +0 -0
  76. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/create_db.py +0 -0
  77. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/db.py +0 -0
  78. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/helpers.py +0 -0
  79. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/i18n.json +0 -0
  80. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite/utils/models.py +0 -0
  81. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/dependency_links.txt +0 -0
  82. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/entry_points.txt +0 -0
  83. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/requires.txt +0 -0
  84. {openwrite-0.13.3 → openwrite-0.13.4}/openwrite.egg-info/top_level.txt +0 -0
  85. {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
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: GitHub repository, https://github.com/openwriteio/openwrite
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
  ![logo](https://openwrite.io/static/logo.png)
691
+
691
692
  openwrite is a minimalist blogging platform built for writing freely, hosting independently, and publishing without noise.
692
693
 
693
694
  ![PyPI - Downloads](https://img.shields.io/pypi/dw/openwrite)
@@ -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
  ![logo](https://openwrite.io/static/logo.png)
2
+
2
3
  openwrite is a minimalist blogging platform built for writing freely, hosting independently, and publishing without noise.
3
4
 
4
5
  ![PyPI - Downloads](https://img.shields.io/pypi/dw/openwrite)
@@ -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.14.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
+ }