Mercurial > hg > Members > anatofuz > parse_growi_revisions
view parse.pl @ 2:f16207a57f9d default tip
...
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 11 Nov 2020 07:39:24 +0900 |
parents | d17d625d3cdb |
children |
line wrap: on
line source
#!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; use JSON; use Path::Tiny; use DDP {deparse => 1}; my $json_file = shift or die 'require json file'; my $revision = decode_json(path($json_file)->slurp); #p $revision; my $paths; for my $elem (@$revision) { push(@{$paths->{$elem->{path}}}, $elem); } for my $path (keys %$paths) { my $elems = $paths->{$path}; print encode_utf8 "$path\n"; my @sorted_elems = sort { $b->{createdAt} cmp $a->{createdAt}} @$elems; my $latest_elem = shift @sorted_elems; my $emit_file_path = path("./emit/$path.md"); $emit_file_path->touchpath; $emit_file_path->spew_utf8($latest_elem->{body}); } __END__ { "_id": "5ecce2e5fc19b9004a86ec47", "format": "markdown", "createdAt": "2020-05-26T09:35:33.830Z", "path": "/user/anatofuz/note/2020/05/26", "body": "", "author": "5df5ef37d744a60045dd1524", "hasDiffToPrev": true, "__v": 0 }