CPAN-MetaCurator

 view release on metacpan or  search on metacpan

Changelog.ini  view on Meta::CPAN

- Add scripts/export.modules2csv.pl.
EOT

[V 1.04]
Date=2026-02-02T00:00:00
Comments=- Make each topic's node clickable.

[V 1.03]
Date=2026-01-25T00:00:00
Comments= <<EOT
- Update scripts/read.tiddlers.pl to recognize both ChangeLog & MainMenu as special para names.
- Update details in CPAN::MetaCurator of the process of reading the tiddlers file & gathering statistics.
EOT

[V 1.02]
Date=2025-10-07T00:00:00
Comments= <<EOT
- Add LICENSE to Makefile.PL.
- Start rewriting Export.pm to handle multiples of <pre>...</pre> and See Also and to keep them in situ.
- Update cpan.metacurator.tiddlers.json.
- Update the POD to explain how to download and unpack 02packages.details.txt.

Changes  view on Meta::CPAN

    - Remove export file data/modules.table.csv for now.

1.05  2026-02-03
    - Add sub export_modules_table() to Export.pm.
    - Add scripts/export.modules2csv.pl.

1.04  2026-02-02
    - Make each topic's node clickable.

1.03  2026-01-25
    - Update scripts/read.tiddlers.pl to recognize both ChangeLog & MainMenu as special para names.
    - Update details in CPAN::MetaCurator of the process of reading the tiddlers file & gathering statistics.

1.02  2025-10-07
    - Add LICENSE to Makefile.PL.
    - Start rewriting Export.pm to handle multiples of <pre>...</pre> and See Also and to keep them in situ.
    - Update cpan.metacurator.tiddlers.json.
    - Update the POD to explain how to download and unpack 02packages.details.txt.

1.01  2025-07-28
    - Add Perl's 02packages.details.txt as data/02packages.details.txt.

data/cpan.metacurator.constants.csv  view on Meta::CPAN

name,value
domain_name,savage.net.au
encoding,:encoding(UTF-8)
html_id_offset,10000
logo_path,/assets/images/local/rons.logo.png
page_name,cpan.metacurator.tree.html
special_para_names,ChangeLog|GettingStarted|MainMenu
time_zone,Australia/Melbourne
title_font_path,/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
title_font_size,16

data/tiddlers.json  view on Meta::CPAN

        "modified": "20260405225742365"
    },
    {
        "text": "\"\"\"\no Captcha::Stateless::Text:\n- Stateless, text-based CAPTCHAs\n- https://metacpan.org/dist/Captcha-Stateless-Text\n",
        "title": "CaptchaStuff",
        "modified": "20250728223140626",
        "created": "20240706052320581"
    },
    {
        "created": "20240717002307158",
        "text": "\"\"\"\no Author:\n- Ron Savage\n- Melbourne, Victoria, Australia\n- http://savage.net.au. Has links to various wikis\n- https://metacpan.org/author/RSAVAGE\n\no V 1.44:\n- 2026-04-06\n- Add CALDAV, ECDLP, iCalandar, IDN, LCCN, LCSAJ...
        "title": "ChangeLog",
        "modified": "20260406012402824"
    },
    {
        "created": "20210729071550324",
        "text": "\"\"\"\no See also:\n- BarCodes\n- Chart\n- Chart::Clicker\n- Chart::GGPlot\n- Chart::Plotly\n- Color::Library\n- Convert::Color\n- Imager::Plot\n- VS::Chart\n- ChartingAndPlotting\n- [[Color]]\n- [[Graphs]]\n- PdfStuff\n- PdlLanguag...
        "title": "ChartingAndPlotting",
        "modified": "20260331020927036"
    },
    {

data/tiddlers.json  view on Meta::CPAN

    },
    {
        "created": "20240718230940062",
        "text": "\"\"\"\no See also:\n- ApacheStuff\n- JsonStuff\n- PoeStuff\n- RfcGuide\n- RotateLogFiles\n\no DBI::Log:\n- Log all DBI queries\n- https://metacpan.org/dist/DBI-Log\n- POD refers to DBIx::Class::UnicornLogger, DBIx::Class::Storage::D...
        "title": "LoggingStuff",
        "modified": "20260401231315804"
    },
    {
        "created": "20190630232743522",
        "text": "\"\"\"\nABeCeDarian\n[[Acronyms]]\nAdventPlanet\nAiEngines\nAlgorithmicStuff\nAnimationStuff\nAntiVirusStuff\nApacheStuff\nAppleMac\nArchiveFiles\nArrayHandling\nAsciiCodes\n[[ASN]]\nAssemblerX86\nAstroStuff\nAudioVisual\nAutoCAD\nBa...
        "title": "MainMenu",
        "tags": "",
        "modified": "20260404092529737"
    },
    {
        "text": "\"\"\"\no See also:\n- App::oaf\n- BBcode\n- Creole\n- DataTraversal\n- MediaWiki\n- MultiMarkdown\n- PerlDocumentation\n- Pithub::Markdown\n- PodHandling - For, eg, Pod::AsciiDoctor\n- RfcGuide - For rfc7764\n- TemplateStuff\n- http...
        "title": "MarkdownHandling",
        "modified": "20260325081901259",
        "created": "20210802054230814"
    },
    {

data/tiddlers.json  view on Meta::CPAN

        "title": "TestingHelp",
        "modified": "20260405064500823"
    },
    {
        "created": "20230712061013469",
        "text": "\"\"\"\no See also:\n- [[Color]]\n- DataTraversal\n- LaTeX\n- LinguaStuff\n- MarkdownHandling\n- PerlDocumentation\n- PodHandling\n- QrCodes\n- RegexpStuff\n- RfcGuide\n- SpreadsheetStuff\n- StringStuff\n- TemplateStuff\n- [[UTF8]]\n...
        "title": "TextAnalysisAndFormatting",
        "modified": "20260405224040320"
    },
    {
        "text": "\"\"\"\no See also:\n- WikiStuff\n- https://daringfireball.net/projects/markdown/syntax - Syntax reference\n- https://feather.wiki/ - For Feather Wiki, a tiny version of a TiddlyWiki\n- https://foswiki.org/Home/About - For FosWiki, a...
        "title": "TiddlyWikis",
        "modified": "20260316002656289",
        "created": "20231128215756635"
    },
    {
        "text": "\"\"\"\no See also:\n- PdfStuff\n- TemplateStuff - For - Text::Layout\n\no Font::TTF:\n- Perl module for TrueType Font hacking\n- https://metacpan.org/pod/Font::TTF\n\no Font::TTF::Font:\n- Memory representation of a font\n- https://...
        "title": "TrueTypeFonts",
        "modified": "20260101043224807",
        "created": "20250323233832528"
    },

lib/CPAN/MetaCurator/Import.pm  view on Meta::CPAN


sub populate_topics_table
{
	my($self)		= @_;
	my($data)		= $self -> read_tiddlers_file;
	my($record)		= {parent_id => 1, text => 'Root', title => 'MetaCurator'}; # Parent is self.
	my($table_name)	= 'topics';
	my($root_id)	= $self -> insert_hashref($table_name, $record);

	# We have just populated the constants table, so read it to get the names of the special (TiddlyWiki) paragraphs.
	# Typically: GettingStarted|MainMenu.

	my($special_para_names);

	my($pad)			= $self -> pad; # For temporary use, during import.
	$$pad{constants}	= $self -> read_table('constants');

	for my $row (@{$$pad{constants} })
	{
		$special_para_names = $$row{value} if ($$row{name} eq 'special_para_names');
	}

scripts/read.tiddlers.pl  view on Meta::CPAN

my($text, $title);

for my $index (0 .. $#$data)
{
	# Node keys: created modified text title.
	# Node keys: created modified text title.

	$text	= $$data[$index]{text};
	$title	= $$data[$index]{title};

	next if ($title =~ /ChangeLog|MainMenu/); # Special case para names.

	$count++;

	say "Record: $count. Missing prefix", next if ($text !~ m/^\"\"\"\no (.+)$/s);
#	say "$$data[$index]{title}: $$data[$index]{text}";
	say $$data[$index]{title};
}

scripts/tiddly2text.pl  view on Meta::CPAN


		next if ( (! defined $title) || ($title =~ /(?:DefaultTiddlers|SiteTitle|SiteSubtitle)/) );

		$title{$title} = 1;

		for my $child ($div -> content_list)
		{
			@line = map{s/[\s]+/ /gs; s/ [oO] /\no /g; s/ - /\n\t-/g; $_} $child -> as_text;
		}

		if ($title eq 'MainMenu')
		{
			$count++;

			$main_menu = [grep{! /GettingStarted/} map{s/^\[\[//; s/]]$//; $_} split(/ /, $line[0])];
		}
		else
		{
			say OUT $title;
			say OUT @line;
			say OUT '';
		}
	}

	close OUT;

	@$main_menu = sort ('uaAD', @$main_menu);

	#say 'Main Menu:';
	#say map{"<$_>\n"} @$main_menu;
	#say '';

	for $title (@$main_menu)
	{
		if (! $title{$title})
		{
			say "In main menu, but no title: $title";
		}
	}



( run in 1.691 second using v1.01-cache-2.11-cpan-39bf76dae61 )