-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathChanges
More file actions
252 lines (144 loc) · 10 KB
/
Copy pathChanges
File metadata and controls
252 lines (144 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
Revision history for Plerd
{{$NEXT}}
1.903 2026-06-26T01:15:00Z
- Open Graph metadata tags are now generated for any post that has an
associated image (its own, or the blog-wide fallback image), whether
or not the blog configures a "facebook_id". This makes link previews
work out of the box on Discord, Slack, Mastodon, and other services
that read Open Graph data.
- Twitter Card support is no longer scaffolded or documented. The
"twitter_id" directive still works, but it has been removed from the
sample configuration file, since Open Graph metadata already drives
link previews on X as well as everywhere else.
- The "plerdall --init" success message now points to the configuration
file's real location (conf/plerd.conf), rather than a nonexistent
path in the working directory's root.
- Fixed a test whose expected result depended on the local time zone,
causing spurious failures when the suite ran anywhere west of US
Eastern.
- Revised and refreshed the README documentation.
1.902 2026-06-23T22:37:04Z
- Source files with Windows (CRLF) line endings are now normalized to
LF throughout. Previously the in-place source rewrite left the body
with CRLF line endings (mixed with LF metadata).
- Publishing no longer dies when the optional tags.tt template is
missing, so a blog with no tags can publish without it.
- Posts whose titles consist entirely of characters that can't appear
in a filename (such as emoji) no longer collide on a single
YYYY-MM-DD-.html name; each now gets a distinct, stable filename
derived from a hash of its title.
- The docroot/index.html symlink now targets recent.html by basename
rather than an absolute path, so it keeps working when the blog's
docroot is moved or served from a different location.
- Full and incremental publishing now share one post-ordering rule
(date-descending, then basename-ascending), so the two paths can no
longer disagree about ordering. Output order is unchanged.
1.901 2026-06-21T22:27:57Z
- Fixed README generation: the CI badge and an "install Sweat"
copypasta typo are now corrected at the README.pod source, since
README.md is generated from it by Minilla.
1.900 2026-06-19T17:35:40Z
- Incremental publishing: plerdwatcher now republishes incrementally on a
source change, falling back to a full rebuild only when a change can
affect shared pages (recent/archive/tag pages and feeds). Scales far
better as a blog's archive grows.
- All generated files are now written atomically (rendered to a temp file,
then renamed into place), so a web server never serves a half-written or
empty file, and a failed render leaves the previous file intact.
- Promoting webmention sending from experimental to supported feature.
- Removing experimental support for storing webmentions.
- HTML is now stripped from JSON Feed titles.
- Fixing a bug that would sometimes list a post twice on a tag page.
- The default post template now shows a "Previous post" link in list view
when older posts exist.
- Trailing whitespace is now stripped from metadata values.
- Assorted correctness and robustness fixes (with added tests), and
hardened index.html symlink creation.
- Declaring Digest::MD5 and JSON as dependencies.
- Requiring DateTime 1.54 or later; older versions could round-trip a
post's W3C "time" value into an unparseable form. Thanks to Olivier
Auverlot for the report.
- Continuous integration moved from the defunct Travis CI to GitHub
Actions (Perl 5.32 / 5.36 / 5.40).
1.820 2019-12-26T04:03:53Z
- Adding SSL support to Plerdwatcher.
- Displayed webmentions are now sorted by time they were published (versus the time they were received).
- Adding a trivial default handler on the webmention listener.
- Plerd now emits an intentional warning on publication if the blog contains tags that are identical except for case.
1.811 2019-05-27T04:24:16Z
- Fixing a tag-ordering bug.
1.810 2019-05-26T22:22:27Z
- Adding support for MultiMarkdown. Thanks to Petter Hassberg for the patch.
- Tags now decide on their own capitalization, in the case of user inconsistency, and apply it across the blog.
1.802 2019-04-14T15:42:54Z
- Suppressing extra whitespace from post methods (e.g. description()) whose output might use an HTML-stripped version of the post's body.
- Removing redundant example-template files, and basing tests on plerdall's "init" feature instead.
- Adding the contributors list to Plerd.pm's POD.
- Removing documentation regarding Facebook support. (See: http://fogknife.com/2019-02-26-ending-my-personal-use-and-project-support-for-facebook.html)
1.801 2019-02-07T02:31:29Z
- Adding a linked tag list to the default post template.
1.8 2019-02-07T01:11:35Z
- Adding support for tags. Thanks to Joe Johnston for the basic concept, and much of the implementation work.
- Adding a utc_date method to post objects.
- Fixing a bug that made `plerdall --init` fail if plerdall can't find a config file. (Thanks to Bo for the bug report.)
- Fixing a bug that ignored any user-requested webmention-listener log level.
- Improving automatically derived post descriptions.
1.72 2018-12-09T16:51:27Z
- Tweaking some internal bits so that Plerd sits better with CPAN's amazing and celebrated testing army. (Thanks to Slaven Rezic for advice and guidance.)
1.7 2018-11-05T00:58:38Z
- Adding support for "dist"-style installation and configuration of Plerd, making it appropriate for distribution via CPAN.
- Adding an --init command to plerdall. (Thanks to Rebecca Turner for the suggestion.)
- Plerd now automatically generates a symbolic link from recent.html to index.html on blog publication.
1.601 2018-08-11
- Fixing a bug that prevented the Webmention-receiving plerdwatcher process from accepting webmentions for posts created after it launched.
- Adding a (commented-out) `<link rel="webmention [...] />` element to the set of sample templates. (Thanks to Karen Cravens for the bug report.)
- Separating the display of replies versus uncategorized webmentions, in the sample templates.
- Retroactively adding a bunch of entries to the 1.6 Changelog entry that I forgot about in the excitement of the Webmention stuff.
1.6 2018-08-05
- Adding experimental support for Webmention sending, receiving, and display.
- If a template fails to process, Plerd will now die with a meaningful error message.
- Adding a post_with_url method to Plerd objects.
- Adding Microformats2 metadata to the sample templates.
1.55 2018-03-07
- Switching away from a naive copy of Text::SmartyPants in favor of a custom fork of same (Plerd::SmartyPants). As a result, Plerd inserts higher-than-ASCII characters like curly-quotes and emdashes directly into its UTF-8 output, rather than using HTML entities. This avoids problems arising from mixing HTML entities with other modules' entity-escaping code.
1.54 2018-02-17
- Improving how Plerd handles UTF-8 source and template files. (Much like v1.44, except I think I got it right this time.)
- Adding mention of v1.52's alt-text improvement to the documentation.
1.53 2017-10-29
- Fixing a bug where Markdown symbols, if present in the first paragraph of a post's source file, would appear in default social-media description tags.
- Now requiring a minimum HTML::SocialMeta version.
1.52 2017-10-22
- Social-media metadata tags will choose "featured image" style for posts that explicitly define an image, and "thumbnail" style for posts that use the blog's default image.
- Adding support for image alt-text in social-media metadata tags.
1.5 2017-08-20
- Adding support for social-media metadata tags.
1.45 2017-08-18
- Emergency rollback of the UTF-8 "improving". O the embarrassment.
1.44 2017-08-18
- Adding a reading_time method to post objects.
- Improving how Plerd handles UTF-8 template files.
1.43 2017-05-19
- Adding experimental support for JSON Feed (http://jsonfeed.org).
- Fixing a bug where Markdown in post titles could result in messed-up HTML title-element content.
1.42 2016-10-06
- Adding some styling to the default template so that plain <img> elements within posts dont overflow the content div's width.
1.41 2016-09-17
- Fixing a bug that would sometimes cause existing posts' "older_post" and "newer_post" methods to return incorrect values after new the publication of new posts.
- Removing support for the Plerd object's "publish" method and "files_to_publish" attribute. (The former now just calls the "publish_all" method.)
1.4 2016-08-17
- Adding support for user-defined post attributes.
- Improving handling of base-URI configurations involving paths. (David Turner)
1.31 2016-08-01
- Plerdwatcher now pays attention to all config directives, including the new ones defined in v1.3.
1.3 2016-07-23
- Plerd no longer requires that the source, docroot, and template directories all exist within the same master directory.
1.2 2016-04-09
- Fixing a bug that could prevent the recent, archive, and RSS pages from updating properly.
1.1 2016-03-27
- Adding "newer_post" and "older_post" read-only methods to post objects.
- Adding a "posts" read-only method to the Plerd object, returning all of
the blog's posts.
- GUIDs are now always added to posts. (The old "generates_post_guids"
is now a deprecated no-op.)
1.0 2015-11-04
- First versioned release. (Christian Sánchez contributed pre-release improvements)