{"action":"created","comment":{"url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/comments/33689432","id":33689432,"diff_hunk":"@@ -0,0 +1,27 @@\n+module FsSnip.Pages.Author\n+\n+open Suave\n+open System\n+open System.Web\n+open FsSnip.Utils\n+open FsSnip.Data\n+\n+// -------------------------------------------------------------------------------------------------\n+// Author page - domain model\n+// -------------------------------------------------------------------------------------------------\n+\n+type AuthorModel =\n+  { Author : string\n+    Snippets : seq<Snippet> }\n+\n+// -------------------------------------------------------------------------------------------------\n+// Loading author page information (snippets by the given author)\n+// -------------------------------------------------------------------------------------------------\n+\n+let showSnippets (author) =\n+  let a = System.Web.HttpUtility.UrlDecode author\n+  publicSnippets\n+  |> Seq.filter (fun s -> s.Author.Equals(a, StringComparison.InvariantCultureIgnoreCase))\n+  |> (fun s ->","path":"code/pages/author.fs","position":25,"original_position":25,"commit_id":"2316b0d6619578e1aabcbe8ecffc5727dbc9126e","original_commit_id":"2316b0d6619578e1aabcbe8ecffc5727dbc9126e","user":{"login":"tpetricek","id":485413,"avatar_url":"https://avatars.githubusercontent.com/u/485413?v=3","gravatar_id":"","url":"https://api.github.com/users/tpetricek","html_url":"https://github.com/tpetricek","followers_url":"https://api.github.com/users/tpetricek/followers","following_url":"https://api.github.com/users/tpetricek/following{/other_user}","gists_url":"https://api.github.com/users/tpetricek/gists{/gist_id}","starred_url":"https://api.github.com/users/tpetricek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tpetricek/subscriptions","organizations_url":"https://api.github.com/users/tpetricek/orgs","repos_url":"https://api.github.com/users/tpetricek/repos","events_url":"https://api.github.com/users/tpetricek/events{/privacy}","received_events_url":"https://api.github.com/users/tpetricek/received_events","type":"User","site_admin":false},"body":"My personal preference is to avoid pipelines if I have to write `|> (fun x -> ...)` and instead write multiple let bindings with variables. But I know a couple of people who like piping into fun :-) so I'm happy to merge this no matter which style it uses.","created_at":"2015-07-01T15:22:23Z","updated_at":"2015-07-01T15:22:23Z","html_url":"https://github.com/tpetricek/FsSnip.Website/pull/17#discussion_r33689432","pull_request_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17","_links":{"self":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/comments/33689432"},"html":{"href":"https://github.com/tpetricek/FsSnip.Website/pull/17#discussion_r33689432"},"pull_request":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17"}}},"pull_request":{"url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17","id":38988066,"html_url":"https://github.com/tpetricek/FsSnip.Website/pull/17","diff_url":"https://github.com/tpetricek/FsSnip.Website/pull/17.diff","patch_url":"https://github.com/tpetricek/FsSnip.Website/pull/17.patch","issue_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues/17","number":17,"state":"open","locked":false,"title":"Implement tags/authors support","user":{"login":"darklajid","id":77554,"avatar_url":"https://avatars.githubusercontent.com/u/77554?v=3","gravatar_id":"","url":"https://api.github.com/users/darklajid","html_url":"https://github.com/darklajid","followers_url":"https://api.github.com/users/darklajid/followers","following_url":"https://api.github.com/users/darklajid/following{/other_user}","gists_url":"https://api.github.com/users/darklajid/gists{/gist_id}","starred_url":"https://api.github.com/users/darklajid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darklajid/subscriptions","organizations_url":"https://api.github.com/users/darklajid/orgs","repos_url":"https://api.github.com/users/darklajid/repos","events_url":"https://api.github.com/users/darklajid/events{/privacy}","received_events_url":"https://api.github.com/users/darklajid/received_events","type":"User","site_admin":false},"body":"This is my naive way of trying to implement the tags/ and authors/ links, trying to fix #1 \r\n\r\nAny feedback appreciated, this feels rather rough and naive - especially the manual urldecode?","created_at":"2015-07-01T14:32:33Z","updated_at":"2015-07-01T15:22:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e2014898bd9a6bf0f88be998266251428ebf5f8e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17/commits","review_comments_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17/comments","review_comment_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues/17/comments","statuses_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/statuses/2316b0d6619578e1aabcbe8ecffc5727dbc9126e","head":{"label":"darklajid:master","ref":"master","sha":"2316b0d6619578e1aabcbe8ecffc5727dbc9126e","user":{"login":"darklajid","id":77554,"avatar_url":"https://avatars.githubusercontent.com/u/77554?v=3","gravatar_id":"","url":"https://api.github.com/users/darklajid","html_url":"https://github.com/darklajid","followers_url":"https://api.github.com/users/darklajid/followers","following_url":"https://api.github.com/users/darklajid/following{/other_user}","gists_url":"https://api.github.com/users/darklajid/gists{/gist_id}","starred_url":"https://api.github.com/users/darklajid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darklajid/subscriptions","organizations_url":"https://api.github.com/users/darklajid/orgs","repos_url":"https://api.github.com/users/darklajid/repos","events_url":"https://api.github.com/users/darklajid/events{/privacy}","received_events_url":"https://api.github.com/users/darklajid/received_events","type":"User","site_admin":false},"repo":{"id":38375465,"name":"FsSnip.Website","full_name":"darklajid/FsSnip.Website","owner":{"login":"darklajid","id":77554,"avatar_url":"https://avatars.githubusercontent.com/u/77554?v=3","gravatar_id":"","url":"https://api.github.com/users/darklajid","html_url":"https://github.com/darklajid","followers_url":"https://api.github.com/users/darklajid/followers","following_url":"https://api.github.com/users/darklajid/following{/other_user}","gists_url":"https://api.github.com/users/darklajid/gists{/gist_id}","starred_url":"https://api.github.com/users/darklajid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darklajid/subscriptions","organizations_url":"https://api.github.com/users/darklajid/orgs","repos_url":"https://api.github.com/users/darklajid/repos","events_url":"https://api.github.com/users/darklajid/events{/privacy}","received_events_url":"https://api.github.com/users/darklajid/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/darklajid/FsSnip.Website","description":"Source code for the F# Snippets web site","fork":true,"url":"https://api.github.com/repos/darklajid/FsSnip.Website","forks_url":"https://api.github.com/repos/darklajid/FsSnip.Website/forks","keys_url":"https://api.github.com/repos/darklajid/FsSnip.Website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/darklajid/FsSnip.Website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/darklajid/FsSnip.Website/teams","hooks_url":"https://api.github.com/repos/darklajid/FsSnip.Website/hooks","issue_events_url":"https://api.github.com/repos/darklajid/FsSnip.Website/issues/events{/number}","events_url":"https://api.github.com/repos/darklajid/FsSnip.Website/events","assignees_url":"https://api.github.com/repos/darklajid/FsSnip.Website/assignees{/user}","branches_url":"https://api.github.com/repos/darklajid/FsSnip.Website/branches{/branch}","tags_url":"https://api.github.com/repos/darklajid/FsSnip.Website/tags","blobs_url":"https://api.github.com/repos/darklajid/FsSnip.Website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/darklajid/FsSnip.Website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/darklajid/FsSnip.Website/git/refs{/sha}","trees_url":"https://api.github.com/repos/darklajid/FsSnip.Website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/darklajid/FsSnip.Website/statuses/{sha}","languages_url":"https://api.github.com/repos/darklajid/FsSnip.Website/languages","stargazers_url":"https://api.github.com/repos/darklajid/FsSnip.Website/stargazers","contributors_url":"https://api.github.com/repos/darklajid/FsSnip.Website/contributors","subscribers_url":"https://api.github.com/repos/darklajid/FsSnip.Website/subscribers","subscription_url":"https://api.github.com/repos/darklajid/FsSnip.Website/subscription","commits_url":"https://api.github.com/repos/darklajid/FsSnip.Website/commits{/sha}","git_commits_url":"https://api.github.com/repos/darklajid/FsSnip.Website/git/commits{/sha}","comments_url":"https://api.github.com/repos/darklajid/FsSnip.Website/comments{/number}","issue_comment_url":"https://api.github.com/repos/darklajid/FsSnip.Website/issues/comments{/number}","contents_url":"https://api.github.com/repos/darklajid/FsSnip.Website/contents/{+path}","compare_url":"https://api.github.com/repos/darklajid/FsSnip.Website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/darklajid/FsSnip.Website/merges","archive_url":"https://api.github.com/repos/darklajid/FsSnip.Website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/darklajid/FsSnip.Website/downloads","issues_url":"https://api.github.com/repos/darklajid/FsSnip.Website/issues{/number}","pulls_url":"https://api.github.com/repos/darklajid/FsSnip.Website/pulls{/number}","milestones_url":"https://api.github.com/repos/darklajid/FsSnip.Website/milestones{/number}","notifications_url":"https://api.github.com/repos/darklajid/FsSnip.Website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/darklajid/FsSnip.Website/labels{/name}","releases_url":"https://api.github.com/repos/darklajid/FsSnip.Website/releases{/id}","created_at":"2015-07-01T14:23:49Z","updated_at":"2015-07-01T14:23:50Z","pushed_at":"2015-07-01T14:38:48Z","git_url":"git://github.com/darklajid/FsSnip.Website.git","ssh_url":"git@github.com:darklajid/FsSnip.Website.git","clone_url":"https://github.com/darklajid/FsSnip.Website.git","svn_url":"https://github.com/darklajid/FsSnip.Website","homepage":"http://www.fssnip.net","size":0,"stargazers_count":0,"watchers_count":0,"language":"F#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"tpetricek:master","ref":"master","sha":"7756604ca6356acaa704fa70b62e1e229facb010","user":{"login":"tpetricek","id":485413,"avatar_url":"https://avatars.githubusercontent.com/u/485413?v=3","gravatar_id":"","url":"https://api.github.com/users/tpetricek","html_url":"https://github.com/tpetricek","followers_url":"https://api.github.com/users/tpetricek/followers","following_url":"https://api.github.com/users/tpetricek/following{/other_user}","gists_url":"https://api.github.com/users/tpetricek/gists{/gist_id}","starred_url":"https://api.github.com/users/tpetricek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tpetricek/subscriptions","organizations_url":"https://api.github.com/users/tpetricek/orgs","repos_url":"https://api.github.com/users/tpetricek/repos","events_url":"https://api.github.com/users/tpetricek/events{/privacy}","received_events_url":"https://api.github.com/users/tpetricek/received_events","type":"User","site_admin":false},"repo":{"id":38254371,"name":"FsSnip.Website","full_name":"tpetricek/FsSnip.Website","owner":{"login":"tpetricek","id":485413,"avatar_url":"https://avatars.githubusercontent.com/u/485413?v=3","gravatar_id":"","url":"https://api.github.com/users/tpetricek","html_url":"https://github.com/tpetricek","followers_url":"https://api.github.com/users/tpetricek/followers","following_url":"https://api.github.com/users/tpetricek/following{/other_user}","gists_url":"https://api.github.com/users/tpetricek/gists{/gist_id}","starred_url":"https://api.github.com/users/tpetricek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tpetricek/subscriptions","organizations_url":"https://api.github.com/users/tpetricek/orgs","repos_url":"https://api.github.com/users/tpetricek/repos","events_url":"https://api.github.com/users/tpetricek/events{/privacy}","received_events_url":"https://api.github.com/users/tpetricek/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tpetricek/FsSnip.Website","description":"Source code for the F# Snippets web site","fork":false,"url":"https://api.github.com/repos/tpetricek/FsSnip.Website","forks_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/forks","keys_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/teams","hooks_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/hooks","issue_events_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues/events{/number}","events_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/events","assignees_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/assignees{/user}","branches_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/branches{/branch}","tags_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/tags","blobs_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/git/refs{/sha}","trees_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/statuses/{sha}","languages_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/languages","stargazers_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/stargazers","contributors_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/contributors","subscribers_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/subscribers","subscription_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/subscription","commits_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/commits{/sha}","git_commits_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/git/commits{/sha}","comments_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/comments{/number}","issue_comment_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues/comments{/number}","contents_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/contents/{+path}","compare_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/merges","archive_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/downloads","issues_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues{/number}","pulls_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls{/number}","milestones_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/milestones{/number}","notifications_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/labels{/name}","releases_url":"https://api.github.com/repos/tpetricek/FsSnip.Website/releases{/id}","created_at":"2015-06-29T15:14:51Z","updated_at":"2015-06-30T12:42:25Z","pushed_at":"2015-07-01T14:38:48Z","git_url":"git://github.com/tpetricek/FsSnip.Website.git","ssh_url":"git@github.com:tpetricek/FsSnip.Website.git","clone_url":"https://github.com/tpetricek/FsSnip.Website.git","svn_url":"https://github.com/tpetricek/FsSnip.Website","homepage":"http://www.fssnip.net","size":0,"stargazers_count":2,"watchers_count":2,"language":"F#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":17,"forks":5,"open_issues":17,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17"},"html":{"href":"https://github.com/tpetricek/FsSnip.Website/pull/17"},"issue":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues/17"},"comments":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/issues/17/comments"},"review_comments":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17/comments"},"review_comment":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/pulls/17/commits"},"statuses":{"href":"https://api.github.com/repos/tpetricek/FsSnip.Website/statuses/2316b0d6619578e1aabcbe8ecffc5727dbc9126e"}}}}