Skip to content

Commit fbd5425

Browse files
jmacdotorgclaude
andcommitted
Prepare 2.000: GitHub-Flavored Markdown, unfiltered HTML
Bump the version to 2.000 and write the changelog for the first release off the breaking-change line. Two changes are incompatible for existing users: Markdown::Perl replaces Text::MultiMarkdown, so MultiMarkdown-only syntax stops rendering, and the distribution now requires Perl 5.26 or later where it previously declared no minimum at all. Note in the changelog that 1.903 is the final release for older perls, that it stays installable from CPAN, and that the 1.x line lives on maint/1.x. Carry Jason's README revisions -- a "Before you begin" section stating the Perl 5.26 requirement, and a "Support for Plerd 1.x" section pointing at the maintenance branch and the 1.903 release -- from README.md back into README.pod, and regenerate README.md from it. Also refresh two test comments that still described the MultiMarkdown era, and regenerate META.json and Makefile.PL. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ku1xgyEKjWv4snx4U4njSo
1 parent 6c63824 commit fbd5425

8 files changed

Lines changed: 71 additions & 18 deletions

File tree

Changes

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@ Revision history for Plerd
22

33
{{$NEXT}}
44

5+
- Plerd now processes Markdown with Markdown::Perl, running in its
6+
GitHub-Flavored Markdown (GFM) mode, in place of Text::MultiMarkdown.
7+
Fenced code blocks work at last -- both ``` and ~~~ fences, with a
8+
fence's language becoming a "language-foo" class on its <code> element
9+
-- as do GFM tables, strikethrough, and task lists, atop the whole of
10+
the CommonMark spec. Syntax peculiar to MultiMarkdown is no longer
11+
recognized.
12+
13+
- Plerd requires Perl 5.26 or later, a requirement inherited from
14+
Markdown::Perl. Version 1.903 is the last release to support earlier
15+
versions of Perl. It remains available from CPAN by way of "cpanm
16+
Plerd@1.903", and the 1.x line continues to live on this project's
17+
"maint/1.x" Git branch.
18+
19+
- All HTML markup found in a post's source file now passes through to
20+
the published page, unfiltered. GFM ordinarily escapes tags such as
21+
<iframe>, <script>, and <style>, because GitHub renders text from
22+
strangers; Plerd, a single-user blogging platform, instead trusts that
23+
its author meant to write the markup that they wrote.
24+
25+
- Markdown::Perl replaces Text::MultiMarkdown among this distribution's
26+
dependencies. Capture::Tiny, which the test suite has long used while
27+
receiving it by happenstance from the Text::Markdown stack, is now
28+
declared outright.
29+
530
1.903 2026-06-26T01:15:00Z
631

732
- Open Graph metadata tags are now generated for any post that has an

META.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
"web" : "https://github.com/jmacdotorg/plerd"
8383
}
8484
},
85-
"version" : "1.903_001",
85+
"version" : "2.000",
8686
"x_authority" : "cpan:JMAC",
8787
"x_contributors" : [
8888
"Christian Sánchez <sanchezchristian@gmail.com>",

Makefile.PL

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use ExtUtils::MakeMaker 6.64;
1111
my %WriteMakefileArgs = (
1212
NAME => 'Plerd',
1313
DISTNAME => 'Plerd',
14-
VERSION => '1.903_001',
14+
VERSION => '2.000',
1515
EXE_FILES => [glob('script/*'), glob('bin/*')],
1616
CONFIGURE_REQUIRES => {
1717
"ExtUtils::MakeMaker" => "6.64"

README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,17 @@ I do my best to avoid breaking functionality when I do release updates to Plerd,
4040

4141
## Setup
4242

43-
### Installation
43+
### Before you begin
44+
45+
To install and run Plerd, you need the following installed on your machine:
4446

45-
**First, make sure you have the `cpanm` program on your machine.** It is likely
46-
available as "cpanminus" in your favorite package manager. (Or install it from
47-
source, through the instructions at [http://cpanmin.us](http://cpanmin.us).)
47+
- Perl version 5.26 or later. [Perlbrew](https://perlbrew.pl) is an excellent tool to install and manage a more recent perl alongside your machine's system Perl, if needed.
48+
- The `cpanm` program for managing third-party Perl libraries. You can likely find it as `cpanminus` in your favorite package manager. Or, install it from
49+
source, through the instructions at [http://cpanmin.us](http://cpanmin.us).
50+
51+
### Installation
4852

49-
Then, to install the latest release of Plerd, run this command:
53+
To install the latest release of Plerd, run this command:
5054

5155
cpanm Plerd
5256

@@ -249,6 +253,12 @@ You can also [email me, Jason McIntosh](mailto:jmac@jmac.org), directly. I am al
249253

250254
[Plerd has a homepage at its creator's website.](http://jmac.org/plerd)
251255

256+
### Support for Plerd 1.x
257+
258+
Plerd version 2.000 was released in July, 2026, after a significant change in dependencies required a more recent Perl version. If you still need to run Plerd version 1, you can find a maintenance branch called `maint/1.x` in the Plerd GitHub repository. You can also [find the most recent version 1 release on CPAN](https://metacpan.org/release/JMAC/Plerd-1.903), and install it directly with the following command:
259+
260+
cpanm Plerd@1.903
261+
252262
## See Plerd at work
253263

254264
This software powers Jason McIntosh's blog, [Fogknife](http://fogknife.com), for which it was originally written.

README.pod

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,26 @@ I do my best to avoid breaking functionality when I do release updates to Plerd,
4242

4343
=head2 Setup
4444

45-
=head3 Installation
45+
=head3 Before you begin
46+
47+
To install and run Plerd, you need the following installed on your machine:
48+
49+
=over
50+
51+
=item *
52+
53+
Perl version 5.26 or later. L<Perlbrew|https://perlbrew.pl> is an excellent tool to install and manage a more recent perl alongside your machine's system Perl, if needed.
54+
55+
=item *
56+
57+
The C<cpanm> program for managing third-party Perl libraries. You can likely find it as C<cpanminus> in your favorite package manager. Or, install it from
58+
source, through the instructions at L<http://cpanmin.us>.
59+
60+
=back
4661

47-
B<First, make sure you have the C<cpanm> program on your machine.> It is likely
48-
available as "cpanminus" in your favorite package manager. (Or install it from
49-
source, through the instructions at L<http://cpanmin.us>.)
62+
=head3 Installation
5063

51-
Then, to install the latest release of Plerd, run this command:
64+
To install the latest release of Plerd, run this command:
5265

5366
cpanm Plerd
5467

@@ -346,6 +359,12 @@ You can also L<email me, Jason McIntosh|mailto:jmac@jmac.org>, directly. I am al
346359

347360
L<Plerd has a homepage at its creator's website.|http://jmac.org/plerd>
348361

362+
=head3 Support for Plerd 1.x
363+
364+
Plerd version 2.000 was released in July, 2026, after a significant change in dependencies required a more recent Perl version. If you still need to run Plerd version 1, you can find a maintenance branch called C<maint/1.x> in the Plerd GitHub repository. You can also L<find the most recent version 1 release on CPAN|https://metacpan.org/release/JMAC/Plerd-1.903>, and install it directly with the following command:
365+
366+
cpanm Plerd@1.903
367+
349368
=head2 See Plerd at work
350369

351370
This software powers Jason McIntosh's blog, L<Fogknife|http://fogknife.com>, for which it was originally written.

lib/Plerd.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package Plerd;
22

3-
our $VERSION = '1.903_001';
3+
our $VERSION = '2.000';
44

55
use Moose;
66
use MooseX::Types::URI qw(Uri);

t/basic.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ like ( $plerd->post_with_url( "http://blog.example.com/$ymd-metatags-with-image-
203203
'Automatically derived description works, with leading image tag present.',
204204
);
205205

206-
# make sure that multimarkdown tables work
206+
# make sure that GFM tables work
207207
like ( $plerd->post_with_url( "http://blog.example.com/$ymd-markdown-table.html")->body,
208208
qr{<td>Pizza</td>},
209209
'Markdown tables are rendered.',

t/code_blocks.t

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ use_ok( 'Plerd' );
1212
use Plerd::Init;
1313

1414
# Regression test for GitHub issue #57: GitHub-style fenced code blocks.
15-
# Text::MultiMarkdown does not understand ``` or ~~~ fences -- it collapsed a
16-
# backtick-fenced block into a single inline <code> span (so every line
17-
# wrapped together) and ignored ~~~ entirely. Plerd now pre-processes fences
18-
# into <pre><code> blocks before handing the body to Markdown.
15+
# Markdown::Perl's GitHub mode renders both ``` and ~~~ fences as <pre><code>
16+
# blocks, preserving line breaks and turning a fence's language into a
17+
# "language-foo" class.
1918

2019
my $blog_dir = Path::Class::Dir->new( "$FindBin::Bin/code_blocks_blog" );
2120
$blog_dir->rmtree;

0 commit comments

Comments
 (0)