{"action":"created","comment":{"url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/comments/243473540","pull_request_review_id":187253747,"id":243473540,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MzQ3MzU0MA==","diff_hunk":"@@ -0,0 +1,104 @@\n+---\n+status: published\n+title: Day 21: A Little Christmas Template Cookings\n+author: brian d foy\n+tags:\n+    - templates\n+    - advent\n+images:\n+  banner:\n+    src: '/blog/2018/12/21/a-little-christmas-template-cooking/banner.jpg'\n+    alt: 'Elgin Theater'\n+    data:\n+      attribution: |-\n+        <a data-flickr-embed=\"true\"  href=\"https://www.flickr.com/photos/39908901@N06/11412118604/in/photolist-ios6gA-5LGoKq-PnBoBQ-ibEPHM-7qUncc-SSGFhT-SCYSD9-7pwexw-2doKrZi-b18y32-acMecE-91MNrB-ogyG6P-LX7iMB-ShNXEj-8ZydMc-qdCE4G-4gn2We-qeqCfM-vcGZh-uVByK-h7ffe3-5y5KW9-2cvWMiq-G28Wj6-9ghgVP-4kkcHa-95mLjQ-45ntcs-ShQc5J-nKVW5Q-SP6zgo-imwWqF-SFiTgF-b1xMUr-98xU34-iy3ziA-3ajXVu-7qujMF-SFiitR-dD7wZD-nZfia-kyWT4M-iAZSYf-8ys5cz-94snpg-ShNKW9-5EV5Ns-21qzGXJ-b3oaiT\" title=\"Peanut Butter Kisses cookies\"><img src=\"https://farm8.staticflickr.com/7346/11412118604_cd0ee37d7c_k.jpg\" width=\"2048\" height=\"1356\" alt=\"Peanut Butter Kisses cookies\"></a>\n+data:\n+  bio: briandfoy\n+  description:\n+---\n+The Advent Calendar has shown you many great ways to use Mojolicious, and since you already have Mojo installed you can use it for things besides web processing. Today's recipe uses The templating rendering engine for something other than web responses.\n+---\n+\n+First, process some string templates. Here's an example lifted from the [Mojo::Template](https://mojolicious.org/perldoc/Mojo/Template), using the [squiggly heredoc syntax released in v5.26](https://www.effectiveperlprogramming.com/2016/12/strip-leading-spaces-from-here-docs-with-v5-26/)\n+\n+\tuse Mojo::Template;\n+\n+\tmy $mt = Mojo::Template->new;\n+\n+\tsay $mt->render(<<~'EOF');\n+\t\t% use Time::Piece;\n+\t\t<div>\n+\t\t  % my $now = localtime;\n+\t\t  Time: <%= $now->hms %>\n+\t\t</div>\n+\t\tEOF\n+\n+The lines with leading percent sings are Perl code. One of those lines loads a module, [Time::Piece](), and the other creates the variable `$now`. The `<%= %>` insert values inline. You can figure out the other template syntax on your own; it's all in the [module documentation](https://mojolicious.org/perldoc/Mojo/Template).\n+\n+You can invert that so that the source of the values comes from outside of the template. The `vars()` method turns on your ability to pass a hash to the template; the hash keys turn into values. Sometimes this is preferable to having too much logic in the presentation layer:\n+\n+\tuse v5.26;\n+\tuse Mojo::Template;\n+\n+\tmy $mt = Mojo::Template->new->vars(1);\n+\n+\tuse Time::Piece;\n+\tmy $now = localtime;\n+\n+\tsay $mt->render(<<~'EOF', { time => $now->hms } );\n+\t\t<div>\n+\t\t  Time: <%= $time %>\n+\t\t</div>\n+\t\tEOF\n+\n+It's just as easy to take that template from a file (or many files). This is the sort of thing I used to do this with [Template Toolkit](http://template-toolkit.org), a very fine and capable module that's as good as it ever was. But, I'm already using Mojo for quite a few things and it already has a templating engine. I can reduce my dependency count and focus on one templating language.\n+\n+Typically, Mojo templates use the extension _.ep_. Loop through all of the files that you specify on the command line and cook the ones that have that extension\n+\n+\tuse v5.14;\n+\tuse Mojo::Template;\n+\n+\tmy $mt = Mojo::Template->new->vars(1);\n+\n+\tuse Time::Piece;\n+\tmy $now = localtime;\n+\n+\tforeach my $file ( @ARGV ) {\n+\t\tmy $new_file = $file =~ s/\\.ep\\z//r;\n+\t\topen my $fh, '>:utf8', $new_file or do {","path":"blog/2018/12/21/a-little-christmas-template-cooking/index.markdown","position":68,"original_position":68,"commit_id":"758b18b1064eeeebadae32888ccd0ba46b1f7ee3","original_commit_id":"758b18b1064eeeebadae32888ccd0ba46b1f7ee3","user":{"login":"jberger","id":735765,"node_id":"MDQ6VXNlcjczNTc2NQ==","avatar_url":"https://avatars0.githubusercontent.com/u/735765?v=4","gravatar_id":"","url":"https://api.github.com/users/jberger","html_url":"https://github.com/jberger","followers_url":"https://api.github.com/users/jberger/followers","following_url":"https://api.github.com/users/jberger/following{/other_user}","gists_url":"https://api.github.com/users/jberger/gists{/gist_id}","starred_url":"https://api.github.com/users/jberger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jberger/subscriptions","organizations_url":"https://api.github.com/users/jberger/orgs","repos_url":"https://api.github.com/users/jberger/repos","events_url":"https://api.github.com/users/jberger/events{/privacy}","received_events_url":"https://api.github.com/users/jberger/received_events","type":"User","site_admin":false},"body":"There are a few opportunities to use Mojo::File and Mojo::Util here and the following example. Like spurt and encode rather than open with a layer and print to the filehandle. Entirely up to you. ","created_at":"2018-12-21T02:21:51Z","updated_at":"2018-12-21T02:34:24Z","html_url":"https://github.com/MojoliciousDotIO/mojolicious.io/pull/73#discussion_r243473540","pull_request_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/comments/243473540"},"html":{"href":"https://github.com/MojoliciousDotIO/mojolicious.io/pull/73#discussion_r243473540"},"pull_request":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73"}}},"pull_request":{"url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73","id":240328030,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQwMzI4MDMw","html_url":"https://github.com/MojoliciousDotIO/mojolicious.io/pull/73","diff_url":"https://github.com/MojoliciousDotIO/mojolicious.io/pull/73.diff","patch_url":"https://github.com/MojoliciousDotIO/mojolicious.io/pull/73.patch","issue_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/73","number":73,"state":"open","locked":false,"title":"Briandfoy/day 21 templates","user":{"login":"briandfoy","id":22255,"node_id":"MDQ6VXNlcjIyMjU1","avatar_url":"https://avatars3.githubusercontent.com/u/22255?v=4","gravatar_id":"","url":"https://api.github.com/users/briandfoy","html_url":"https://github.com/briandfoy","followers_url":"https://api.github.com/users/briandfoy/followers","following_url":"https://api.github.com/users/briandfoy/following{/other_user}","gists_url":"https://api.github.com/users/briandfoy/gists{/gist_id}","starred_url":"https://api.github.com/users/briandfoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briandfoy/subscriptions","organizations_url":"https://api.github.com/users/briandfoy/orgs","repos_url":"https://api.github.com/users/briandfoy/repos","events_url":"https://api.github.com/users/briandfoy/events{/privacy}","received_events_url":"https://api.github.com/users/briandfoy/received_events","type":"User","site_admin":false},"body":"I'm going to read this over a few more times, but here it is for comments.","created_at":"2018-12-20T23:09:17Z","updated_at":"2018-12-21T02:34:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"39e9db4daa335506b8f18f8fab48a714a7842a37","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73/commits","review_comments_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73/comments","review_comment_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/73/comments","statuses_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/statuses/758b18b1064eeeebadae32888ccd0ba46b1f7ee3","head":{"label":"MojoliciousDotIO:briandfoy/day-21-templates","ref":"briandfoy/day-21-templates","sha":"758b18b1064eeeebadae32888ccd0ba46b1f7ee3","user":{"login":"MojoliciousDotIO","id":45319986,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ1MzE5OTg2","avatar_url":"https://avatars0.githubusercontent.com/u/45319986?v=4","gravatar_id":"","url":"https://api.github.com/users/MojoliciousDotIO","html_url":"https://github.com/MojoliciousDotIO","followers_url":"https://api.github.com/users/MojoliciousDotIO/followers","following_url":"https://api.github.com/users/MojoliciousDotIO/following{/other_user}","gists_url":"https://api.github.com/users/MojoliciousDotIO/gists{/gist_id}","starred_url":"https://api.github.com/users/MojoliciousDotIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MojoliciousDotIO/subscriptions","organizations_url":"https://api.github.com/users/MojoliciousDotIO/orgs","repos_url":"https://api.github.com/users/MojoliciousDotIO/repos","events_url":"https://api.github.com/users/MojoliciousDotIO/events{/privacy}","received_events_url":"https://api.github.com/users/MojoliciousDotIO/received_events","type":"Organization","site_admin":false},"repo":{"id":112699909,"node_id":"MDEwOlJlcG9zaXRvcnkxMTI2OTk5MDk=","name":"mojolicious.io","full_name":"MojoliciousDotIO/mojolicious.io","private":false,"owner":{"login":"MojoliciousDotIO","id":45319986,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ1MzE5OTg2","avatar_url":"https://avatars0.githubusercontent.com/u/45319986?v=4","gravatar_id":"","url":"https://api.github.com/users/MojoliciousDotIO","html_url":"https://github.com/MojoliciousDotIO","followers_url":"https://api.github.com/users/MojoliciousDotIO/followers","following_url":"https://api.github.com/users/MojoliciousDotIO/following{/other_user}","gists_url":"https://api.github.com/users/MojoliciousDotIO/gists{/gist_id}","starred_url":"https://api.github.com/users/MojoliciousDotIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MojoliciousDotIO/subscriptions","organizations_url":"https://api.github.com/users/MojoliciousDotIO/orgs","repos_url":"https://api.github.com/users/MojoliciousDotIO/repos","events_url":"https://api.github.com/users/MojoliciousDotIO/events{/privacy}","received_events_url":"https://api.github.com/users/MojoliciousDotIO/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/MojoliciousDotIO/mojolicious.io","description":"A semi-official website dedicated to the Mojolicious web framework","fork":false,"url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io","forks_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/forks","keys_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/teams","hooks_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/hooks","issue_events_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/events{/number}","events_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/events","assignees_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/assignees{/user}","branches_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/branches{/branch}","tags_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/tags","blobs_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/statuses/{sha}","languages_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/languages","stargazers_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/stargazers","contributors_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/contributors","subscribers_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/subscribers","subscription_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/subscription","commits_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/contents/{+path}","compare_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/merges","archive_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/downloads","issues_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues{/number}","pulls_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls{/number}","milestones_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/milestones{/number}","notifications_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/labels{/name}","releases_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/releases{/id}","deployments_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/deployments","created_at":"2017-12-01T05:43:39Z","updated_at":"2018-12-21T02:08:22Z","pushed_at":"2018-12-21T02:08:20Z","git_url":"git://github.com/MojoliciousDotIO/mojolicious.io.git","ssh_url":"git@github.com:MojoliciousDotIO/mojolicious.io.git","clone_url":"https://github.com/MojoliciousDotIO/mojolicious.io.git","svn_url":"https://github.com/MojoliciousDotIO/mojolicious.io","homepage":"https://mojolicious.io","size":39642,"stargazers_count":5,"watchers_count":5,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":17,"open_issues":5,"watchers":5,"default_branch":"master"}},"base":{"label":"MojoliciousDotIO:master","ref":"master","sha":"6d17493cad055027fd4e87206ce08d0119fd3aab","user":{"login":"MojoliciousDotIO","id":45319986,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ1MzE5OTg2","avatar_url":"https://avatars0.githubusercontent.com/u/45319986?v=4","gravatar_id":"","url":"https://api.github.com/users/MojoliciousDotIO","html_url":"https://github.com/MojoliciousDotIO","followers_url":"https://api.github.com/users/MojoliciousDotIO/followers","following_url":"https://api.github.com/users/MojoliciousDotIO/following{/other_user}","gists_url":"https://api.github.com/users/MojoliciousDotIO/gists{/gist_id}","starred_url":"https://api.github.com/users/MojoliciousDotIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MojoliciousDotIO/subscriptions","organizations_url":"https://api.github.com/users/MojoliciousDotIO/orgs","repos_url":"https://api.github.com/users/MojoliciousDotIO/repos","events_url":"https://api.github.com/users/MojoliciousDotIO/events{/privacy}","received_events_url":"https://api.github.com/users/MojoliciousDotIO/received_events","type":"Organization","site_admin":false},"repo":{"id":112699909,"node_id":"MDEwOlJlcG9zaXRvcnkxMTI2OTk5MDk=","name":"mojolicious.io","full_name":"MojoliciousDotIO/mojolicious.io","private":false,"owner":{"login":"MojoliciousDotIO","id":45319986,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ1MzE5OTg2","avatar_url":"https://avatars0.githubusercontent.com/u/45319986?v=4","gravatar_id":"","url":"https://api.github.com/users/MojoliciousDotIO","html_url":"https://github.com/MojoliciousDotIO","followers_url":"https://api.github.com/users/MojoliciousDotIO/followers","following_url":"https://api.github.com/users/MojoliciousDotIO/following{/other_user}","gists_url":"https://api.github.com/users/MojoliciousDotIO/gists{/gist_id}","starred_url":"https://api.github.com/users/MojoliciousDotIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MojoliciousDotIO/subscriptions","organizations_url":"https://api.github.com/users/MojoliciousDotIO/orgs","repos_url":"https://api.github.com/users/MojoliciousDotIO/repos","events_url":"https://api.github.com/users/MojoliciousDotIO/events{/privacy}","received_events_url":"https://api.github.com/users/MojoliciousDotIO/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/MojoliciousDotIO/mojolicious.io","description":"A semi-official website dedicated to the Mojolicious web framework","fork":false,"url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io","forks_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/forks","keys_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/teams","hooks_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/hooks","issue_events_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/events{/number}","events_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/events","assignees_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/assignees{/user}","branches_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/branches{/branch}","tags_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/tags","blobs_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/statuses/{sha}","languages_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/languages","stargazers_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/stargazers","contributors_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/contributors","subscribers_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/subscribers","subscription_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/subscription","commits_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/contents/{+path}","compare_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/merges","archive_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/downloads","issues_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues{/number}","pulls_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls{/number}","milestones_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/milestones{/number}","notifications_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/labels{/name}","releases_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/releases{/id}","deployments_url":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/deployments","created_at":"2017-12-01T05:43:39Z","updated_at":"2018-12-21T02:08:22Z","pushed_at":"2018-12-21T02:08:20Z","git_url":"git://github.com/MojoliciousDotIO/mojolicious.io.git","ssh_url":"git@github.com:MojoliciousDotIO/mojolicious.io.git","clone_url":"https://github.com/MojoliciousDotIO/mojolicious.io.git","svn_url":"https://github.com/MojoliciousDotIO/mojolicious.io","homepage":"https://mojolicious.io","size":39642,"stargazers_count":5,"watchers_count":5,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":17,"open_issues":5,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73"},"html":{"href":"https://github.com/MojoliciousDotIO/mojolicious.io/pull/73"},"issue":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/73"},"comments":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/issues/73/comments"},"review_comments":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73/comments"},"review_comment":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/pulls/73/commits"},"statuses":{"href":"https://api.github.com/repos/MojoliciousDotIO/mojolicious.io/statuses/758b18b1064eeeebadae32888ccd0ba46b1f7ee3"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"jberger"}}