platzky 0.2.16__tar.gz → 0.2.18__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 (39) hide show
  1. {platzky-0.2.16 → platzky-0.2.18}/PKG-INFO +2 -1
  2. {platzky-0.2.16 → platzky-0.2.18}/platzky/static/styles.css +0 -36
  3. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/base.html +2 -0
  4. platzky-0.2.18/platzky/templates/dynamic_css.html +38 -0
  5. {platzky-0.2.16 → platzky-0.2.18}/pyproject.toml +2 -1
  6. platzky-0.2.16/platzky/plugins/sendmail/entrypoint.py +0 -39
  7. platzky-0.2.16/platzky/templates/home.html +0 -195
  8. {platzky-0.2.16 → platzky-0.2.18}/README.md +0 -0
  9. {platzky-0.2.16 → platzky-0.2.18}/platzky/__init__.py +0 -0
  10. {platzky-0.2.16 → platzky-0.2.18}/platzky/blog/__init__.py +0 -0
  11. {platzky-0.2.16 → platzky-0.2.18}/platzky/blog/blog.py +0 -0
  12. {platzky-0.2.16 → platzky-0.2.18}/platzky/blog/comment_form.py +0 -0
  13. {platzky-0.2.16 → platzky-0.2.18}/platzky/config.py +0 -0
  14. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/__init__.py +0 -0
  15. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/db.py +0 -0
  16. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/db_loader.py +0 -0
  17. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/google_json_db.py +0 -0
  18. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/graph_ql_db.py +0 -0
  19. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/json_db.py +0 -0
  20. {platzky-0.2.16 → platzky-0.2.18}/platzky/db/json_file_db.py +0 -0
  21. {platzky-0.2.16 → platzky-0.2.18}/platzky/locale/en/LC_MESSAGES/messages.po +0 -0
  22. {platzky-0.2.16 → platzky-0.2.18}/platzky/locale/pl/LC_MESSAGES/messages.po +0 -0
  23. {platzky-0.2.16 → platzky-0.2.18}/platzky/models.py +0 -0
  24. {platzky-0.2.16 → platzky-0.2.18}/platzky/platzky.py +0 -0
  25. {platzky-0.2.16 → platzky-0.2.18}/platzky/plugin_loader.py +0 -0
  26. {platzky-0.2.16 → platzky-0.2.18}/platzky/plugins/google-tag-manager/entrypoint.py +0 -0
  27. {platzky-0.2.16 → platzky-0.2.18}/platzky/plugins/redirections/entrypoint.py +0 -0
  28. {platzky-0.2.16 → platzky-0.2.18}/platzky/seo/seo.py +0 -0
  29. {platzky-0.2.16 → platzky-0.2.18}/platzky/static/blog.css +0 -0
  30. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/404.html +0 -0
  31. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/blog.html +0 -0
  32. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/body_meta.html +0 -0
  33. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/feed.xml +0 -0
  34. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/head_meta.html +0 -0
  35. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/page.html +0 -0
  36. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/post.html +0 -0
  37. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/robots.txt +0 -0
  38. {platzky-0.2.16 → platzky-0.2.18}/platzky/templates/sitemap.xml +0 -0
  39. {platzky-0.2.16 → platzky-0.2.18}/platzky/www_handler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: platzky
3
- Version: 0.2.16
3
+ Version: 0.2.18
4
4
  Summary: Not only blog engine
5
5
  License: MIT
6
6
  Requires-Python: >=3.10,<4.0
@@ -19,6 +19,7 @@ Requires-Dist: aiohttp (>=3.9.5,<4.0.0)
19
19
  Requires-Dist: google-cloud-storage (>=2.5.0,<3.0.0)
20
20
  Requires-Dist: gql (>=3.4.0,<4.0.0)
21
21
  Requires-Dist: humanize (>=4.9.0,<5.0.0)
22
+ Requires-Dist: platzky-sendmail (>=0.1.1,<0.2.0)
22
23
  Requires-Dist: pydantic (>=2.7.1,<3.0.0)
23
24
  Description-Content-Type: text/markdown
24
25
 
@@ -3,24 +3,11 @@ body {
3
3
  height: 100%;
4
4
  }
5
5
 
6
- body {
7
- font-family: {{ font.name }};
8
- }
9
-
10
6
  .logo {
11
7
  max-height: 6rem;
12
8
  max-width: 50vw;
13
9
  }
14
10
 
15
- .header-row {
16
- z-index: 1;
17
- background-color: {{ primary_color }};
18
- height: min-content;
19
- display: flex;
20
- justify-content: center;
21
- align-items: center;
22
- }
23
-
24
11
  #main-row {
25
12
  position: relative;
26
13
  flex-grow: 1;
@@ -31,22 +18,6 @@ body {
31
18
  padding: 16px;
32
19
  }
33
20
 
34
- .left-panel {
35
- background-color: {{ secondary_color }};
36
- }
37
-
38
- #left-panel {
39
- background-color: {{ secondary_color }};
40
- position: absolute;
41
- height: 100%;
42
- max-width: 80vw;
43
- overflow-y: auto;
44
- color: white;
45
- inline-size: 80vw;
46
- overflow-wrap: break-word;
47
- z-index: 999999999;
48
- }
49
-
50
21
  @media only screen and (min-width: 768px) {
51
22
  #left-panel {
52
23
  inline-size: calc(100vw * 0.1666666667);
@@ -58,13 +29,6 @@ body {
58
29
  font-weight: normal;
59
30
  }
60
31
 
61
- #languages-menu {
62
- background-color: {{ secondary_color }};
63
- padding: 5px 10px;
64
- border-radius: 5px;
65
- color: white;
66
- }
67
-
68
32
  .offcanvas-lg.offcanvas-start {
69
33
  top: auto;
70
34
  width: auto;
@@ -2,8 +2,10 @@
2
2
  <html lang="{{ current_language }}-{{ current_lang_country }}">
3
3
  <head>
4
4
  {% include "head_meta.html" %}
5
+ {% include "dynamic_css.html" %}
5
6
  {% block head_meta %}{% endblock %}
6
7
  {{ dynamic_head | safe }}
8
+
7
9
  <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles.css') }}">
8
10
  <title>{% block title %}{{app_name}}{% endblock %}</title>
9
11
  <meta name="description" content="{% block description %} {{ app_description }} {% endblock %}">
@@ -0,0 +1,38 @@
1
+ <style>
2
+
3
+ body {
4
+ font-family: {{ font.name }};
5
+ }
6
+
7
+ .left-panel {
8
+ background-color: {{ secondary_color }};
9
+ }
10
+
11
+ #left-panel {
12
+ background-color: {{ secondary_color }};
13
+ position: absolute;
14
+ height: 100%;
15
+ max-width: 80vw;
16
+ overflow-y: auto;
17
+ color: white;
18
+ inline-size: 80vw;
19
+ overflow-wrap: break-word;
20
+ z-index: 999999999;
21
+ }
22
+
23
+ #languages-menu {
24
+ background-color: {{ secondary_color }};
25
+ padding: 5px 10px;
26
+ border-radius: 5px;
27
+ color: white;
28
+ }
29
+
30
+ .header-row {
31
+ z-index: 1;
32
+ background-color: {{ primary_color }};
33
+ height: min-content;
34
+ display: flex;
35
+ justify-content: center;
36
+ align-items: center;
37
+ }
38
+ </style>
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "platzky"
3
- version = "0.2.16"
3
+ version = "0.2.18"
4
4
  description = "Not only blog engine"
5
5
  authors = []
6
6
  license = "MIT"
@@ -18,6 +18,7 @@ Flask-Minify = "^0.42"
18
18
  google-cloud-storage = "^2.5.0"
19
19
  humanize = "^4.9.0"
20
20
  pydantic = "^2.7.1"
21
+ platzky-sendmail = "^0.1.1"
21
22
 
22
23
  [tool.poetry.group.dev.dependencies]
23
24
  pytest = "^8.2.1"
@@ -1,39 +0,0 @@
1
- import smtplib
2
-
3
- from pydantic import BaseModel, Field
4
-
5
-
6
- def send_mail(sender_email, password, smtp_server, port, receiver_email, subject, message):
7
- full_message = f"From: {sender_email}\nTo: {receiver_email}\nSubject: {subject}\n\n{message}"
8
- server = smtplib.SMTP_SSL(smtp_server, port)
9
- server.ehlo()
10
- server.login(sender_email, password)
11
- server.sendmail(sender_email, receiver_email, full_message)
12
- server.close()
13
-
14
-
15
- class SendMailConfig(BaseModel):
16
- user: str = Field(alias="sender_email")
17
- password: str = Field(alias="password")
18
- server: str = Field(alias="smtp_server")
19
- port: int = Field(alias="port")
20
- receiver: str = Field(alias="receiver_email")
21
- subject: str = Field(alias="subject")
22
-
23
-
24
- def process(app, config):
25
- plugin_config = SendMailConfig.model_validate(config)
26
-
27
- def notify(message):
28
- send_mail(
29
- sender_email=plugin_config.user,
30
- password=plugin_config.password,
31
- smtp_server=plugin_config.server,
32
- port=plugin_config.port,
33
- receiver_email=plugin_config.receiver,
34
- subject=plugin_config.subject,
35
- message=message,
36
- )
37
-
38
- app.add_notifier(notify)
39
- return app
@@ -1,195 +0,0 @@
1
- {% extends "base.html" %}
2
- {% block content %}
3
-
4
- <style>
5
- .content {
6
- padding-top:150px;
7
- }
8
-
9
- .envelope {
10
- position: relative;
11
- margin: 50px auto 0;
12
- width: 400px;
13
- height: 200px;
14
- background: #00528c;
15
- border-radius: 0 0 5px 5px;
16
- box-shadow: 0 0 1px #c94548 inset;
17
- }
18
-
19
- .envelope:before,
20
- .envelope:after {
21
- content: '';
22
- position: absolute;
23
- width: 0;
24
- height: 0;
25
- border: 0 solid transparent;
26
- border-width: 100px 200px;
27
- }
28
- .envelope:before {
29
- border-bottom-color: #255e87;
30
- top: -100%;
31
- left: 0px;
32
- }
33
- .envelope:after {
34
- border-right-color: #b3d7ff;
35
- border-left-color: #97b3d3;
36
- border-bottom-color:#b3d7e0;
37
- top: 0;
38
- border-radius: 0 0 5px 5px;
39
- transform: rotate(360deg);
40
- box-shadow: 0 1px 1px rgba(0,0,0,0.25);
41
- z-index:3;
42
- }
43
-
44
- .triangle {
45
- border-style:solid;
46
- border-width: 150px 300px;
47
- position: absolute;
48
- z-index:3;
49
- }
50
-
51
- .triangle-down {
52
- border-color: #00528c transparent transparent transparent;
53
- z-index:1;
54
- }
55
-
56
-
57
- .rect {
58
- left: 5%;
59
- bottom:0;
60
- border-radius:6px;
61
- width: 90%;
62
- height:200px;
63
- background: white;
64
- display: inline-block;
65
- border-style:solid;
66
- border-color:#b3d7ff;
67
- box-shadow: inset -3px 3px 10px #b3d7ff;
68
- position:absolute;
69
- padding-bottom:30px;
70
- }
71
- .recto {
72
- position:relative;
73
- width: 100%;
74
- height: 700px;
75
- background: white;
76
- display: inline-block;
77
- z-index:20;
78
- }
79
- .go-up {
80
- animation-delay:0.6s;
81
- animation-name: go-up;
82
- animation-duration: 2s;
83
- animation-fill-mode: forwards;
84
- }
85
-
86
- .scale-up {
87
- animation-delay:0.6s;
88
- animation-name: scale-up;
89
- animation-duration: 2s;
90
- animation-fill-mode: forwards;
91
- }
92
-
93
-
94
- .go-behind {
95
- animation-delay:1s;
96
- animation-name: go-behind;
97
- animation-duration: 1s;
98
- animation-fill-mode: forwards;
99
- }
100
-
101
- .open
102
- {
103
- animation-name: open;
104
- animation-duration: 2s;
105
- animation-fill-mode: forwards;
106
- transform-origin: top;
107
- }
108
-
109
- .boldos
110
- {
111
- color:#007bff;
112
- font-size:1.2rem;
113
- font-weight:bold;
114
- }
115
-
116
- .envelopeso
117
- {
118
- position:relative;
119
- margin-top:500px;
120
- text-align: center;
121
- width:400px;
122
- height:500px;
123
- }
124
-
125
- .begin {
126
- position:relative;
127
- bottom: 160px;
128
- left: 45%;
129
- z-index:5;
130
- transition: 0.3s;
131
- animation: fadein 2s;
132
- animation-delay:1.6s;
133
- opacity: 0;
134
- animation-fill-mode: forwards;
135
- }
136
-
137
- @keyframes fadein {
138
- from { opacity: 0; }
139
- to { opacity: 1; }
140
- }
141
-
142
- @keyframes go-up {
143
- 0% { bottom:0px;}
144
- 100% { bottom:100px;
145
- z-index:1;}
146
- }
147
-
148
-
149
- @keyframes open {
150
- from { transform: scaleY(1);}
151
- to { transform: scaleY(-1);z-index:0}
152
- }
153
-
154
- h1 {
155
- font-size:1rem;
156
- }
157
- h2 {
158
- font-size:0.7rem;
159
- }
160
- p {
161
- font-size:0.8rem;
162
- }
163
-
164
-
165
- </style>
166
-
167
-
168
- <div class="envelope">
169
- <div class="rect go-up" style="display: inline-block">
170
- <div style="display: inline-block;position:relative">
171
- <div class="col-lg-12 text-center mt-3" style="position:relative; text-align:center;">
172
- <p style="margin-bottom:0">
173
- So you are looking for best
174
- <br>
175
- <span class="boldos"> Email Marketing Service
176
- </span>?
177
- </p>
178
- <div style="width:80%; padding-left:20%;">
179
- <p style="margin-bottom:.1rem;color:#4c85c2;">
180
- Please, answer few questions.
181
- </p>
182
- <p>
183
- When you'll be ready hit button "No more questions. ANSWERS!"
184
- </p>
185
- </div>
186
- </div>
187
- </div>
188
- </div>
189
- </div>
190
- <form method="post" class="begin">
191
- <button type="submit" style="z-index:6;" class="btn btn-primary">Begin</button>
192
- </form>
193
-
194
-
195
- {% endblock %}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes