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|TableOfContents
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

        "created": "20240706053046021"
    },
    {
        "text": "\"\"\"\no See also:\n- https://cloud.google.com/security/products/recaptcha\n- https://developers.google.com/recaptcha/docs/v3\n\no Captcha::Stateless::Text:\n- Stateless, text-based CAPTCHAs\n- https://metacpan.org/dist/Captcha-Stat...
        "title": "CaptchaStuff",
        "modified": "20260430021612817",
        "created": "20240706052320581"
    },
    {
        "created": "20240717002307158",
        "text": "\"\"\"\no Author:\n- Ron Savage\n- Melbourne, Victoria, Australia\n- https://metacpan.org/author/RSAVAGE\n- http://savage.net.au/. My Wiki Haven has links to various wikis including this Perl.Wiki.html\n\no V 1.47:\n- 2026-05-31\n- A...
        "title": "ChangeLog",
        "modified": "20260531011602230"
    },
    {
        "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": "20260516000241136",
        "created": "20210729071550324"
    },
    {

data/tiddlers.json  view on Meta::CPAN

    },
    {
        "text": "\"\"\"\no See also:\n- ApacheStuff\n- EmailStuff\n- JsonStuff\n- ModuleBuilding\n- PoeStuff\n- TheRFCGuide\n- RotateLogFiles\n- TemplateStuff\n- https://savage.net.au/misc/Mojo.Wiki.html\n\no Dancer2::Plugin::LogReport:\n- Logging, e...
        "title": "LoggingStuff",
        "modified": "20260528232858271",
        "created": "20240718230940062"
    },
    {
        "created": "20190630232743522",
        "text": "\"\"\"\nABeCeDarian\n[[Acronyms]]\nAdventPlanet\nAiEngines\nAlgorithmicStuff\nAnimationStuff\nAntiVirusStuff\nApacheStuff\nAppleMac\nArchiveFiles\nArchOS\nArrayHandling\nAsciiCodes\n[[ASN]]\nAssemblerX86\nAstroStuff\nAudioVisual\nAut...
        "title": "MainMenu",
        "tags": "",
        "modified": "20260531011029688"
    },
    {
        "text": "\"\"\"\no See also:\n- App::oaf\n- BBcode\n- Creole\n- DataTraversal\n- MediaWiki\n- MultiMarkdown\n- OfficeFiles - For ODF\n- PerlDocumentation\n- Pithub::Markdown\n- PodHandling - For, eg, Pod::AsciiDoctor\n- TheRFCGuide - For rfc7...
        "title": "MarkdownHandling",
        "modified": "20260516232513362",
        "created": "20210802054230814"
    },
    {

data/tiddlers.json  view on Meta::CPAN

        "modified": "20260528235031088",
        "created": "20260325063039182"
    },
    {
        "created": "20260531011046417",
        "title": "TheWindowGuide",
        "modified": "20260531011108882",
        "text": "\"\"\"\no See also:\n- WindowManagement\n- XWindowsStuff\n"
    },
    {
        "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- TheLanguageGuide\n- https://en.wikipedia.org/wiki/Token-Oriented_Object_Notation\n\no Data::TOON:\n- Complete Perl implementation of TOON (Token-Oriented Object Notation)\n- https://metacpan.org/dist/Data-TOON\...
        "title": "ToonLanguage",
        "modified": "20260516234756413",
        "created": "20260423234747047"
    },

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 3.605 seconds using v1.01-cache-2.11-cpan-8f98c5d2c55 )