{"action":"opened","number":64,"pull_request":{"url":"https://api.github.com/repos/jdblischak/workflowr/pulls/64","id":138769277,"html_url":"https://github.com/jdblischak/workflowr/pull/64","diff_url":"https://github.com/jdblischak/workflowr/pull/64.diff","patch_url":"https://github.com/jdblischak/workflowr/pull/64.patch","issue_url":"https://api.github.com/repos/jdblischak/workflowr/issues/64","number":64,"state":"open","locked":false,"title":"Issue 59: Cooperation with Beaker Browser for Dev","user":{"login":"johnsonlab","id":1932222,"avatar_url":"https://avatars3.githubusercontent.com/u/1932222?v=4","gravatar_id":"","url":"https://api.github.com/users/johnsonlab","html_url":"https://github.com/johnsonlab","followers_url":"https://api.github.com/users/johnsonlab/followers","following_url":"https://api.github.com/users/johnsonlab/following{/other_user}","gists_url":"https://api.github.com/users/johnsonlab/gists{/gist_id}","starred_url":"https://api.github.com/users/johnsonlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnsonlab/subscriptions","organizations_url":"https://api.github.com/users/johnsonlab/orgs","repos_url":"https://api.github.com/users/johnsonlab/repos","events_url":"https://api.github.com/users/johnsonlab/events{/privacy}","received_events_url":"https://api.github.com/users/johnsonlab/received_events","type":"User","site_admin":false},"body":"\r\n## Distributing Workflowr Output Using Beaker Browser\r\n\r\n### Sharing Workflowr Rmarkdown Output\r\n\r\nHosting scientific data externally (e.g., on cloud hosts, including GitHub), can be fraught with problems. Academic institutions frown on the practice (for example, for intellectual property reasons), and internal solutions can start and stop with shared drives and Dropbox/Dropbox-like alternatives.\r\n\r\nWorkflowr is truly revelatory for generating *organized* .html output for Rmarkdown projects. However, the easiest way to share individual compiled .Rmd documents with collaborators was still by using *render* in the console *a la*\r\n\r\n    render(\"analysis/file.Rmd\", pdf_document()).\r\nfor .PDF output, or,\r\n\r\n    render(\"analysis/file.Rmd\", word_document()).\r\nfor Word output (per @jdblischak). However, sharing the entire Workflowr-generated site, including what can be invaluable information in associated Index.Rmd and License.Rmd files is highly desirable.\r\n\r\n### Direct Sharing of Entire Workflowr-Generated Sites Using Beaker Browser\r\n\r\n[Beaker Browser](https://beakerbrowser.com/) allows website creation, cloning, modification, and publishing locally. After the site is ready, hitting \"share\" produces a unique [Dat project dat://](https://datproject.org/) hyperlink, for example:\r\n\r\n    dat://adef21aa8bbac5e93b0c20a97c6f57f93150cf4e7f5eb1eb522eb88e682309bc\r\n\r\nThis dat:// link can then be shared and the site opened *all the while being hosted locally on the site producer's machine.* The particular example above is a site, produced in Rstudio using Workflowr, with placeholder content and R code chunks, compiled as usual.\r\n\r\nSecurity for your site is achieved with site encryption inherent in the Dat protocol (see \"Security\" on the [datproject docs page](https://docs.datproject.org/)), as well as the obscurity of the unique link.\r\n\r\nBeaker Browser saves your individual project sites in a folder, /Sites, that is found in the home directory by default.\r\n\r\n## ACTIONS\r\n\r\nTo create a Beaker Browser version of your Workflowr site:\r\n\r\n1. Select \"New Site\" in the three-bar dropdown menu found to the right of the \"omnibar\" for web link entry, and enter its Title and (optional) a Description of the site. This creates a folder in the Beaker Browser /Sites directory named for your Title, for example, \"placeholder_workflowr\", and populates the folder with a dat.json file.\r\n\r\n    ~/Users/joshua/Sites/placeholder_workflowr\r\n\r\n1. In the main Beaker Browser pane, use \"Add Files\" or \"Open Folder\" to copy the entire contents of the Workflowr /docs folder (the location of the project's compiled .html output) to your new Beaker Browser site folder (see Symlink Synchronization, below).\r\n1. Once copied, the new site is ready to go. Pressing \"Share\" in the main Beaker Browser pane reveals the unique dat:// link generated for your Beaker Browser site. Sharing this link with anyone running Beaker Browser will allow them to access your Workflowr .html content...*directly from your computer*.\r\n\r\n### Symlink Synchronization Between Workflowr /analysis and Beaker Browser Site\r\n\r\nPer @jdblischak: To keep your Beaker Browser site up to date with freshly compiled Workflowr content, [you can] create a symlink from your workflowr docs/ directory to the Beaker Browser site directory. The line below links the docs/ directory of a hypothetical \"workflowr-project\" saved in ~/github/ to the hypothetical Beaker placeholder_workflowr Sites subdirectory:\r\n\r\n    ln -s ~/github/workflowr-project/docs ~/Users/joshua/Sites/placeholder_workflowr\r\n\r\n### Hosting Beaker Browser Sites\r\n\r\nThe direct-sharing nature of the above workflow means that the host computer needs to be running for site access. Beaker Browser developer @pfrazee pointed to [hashbase.io](https://hashbase.io) and the Beaker Browser subproject [dathttpd](https://github.com/beakerbrowser/dathttpd). While hosting Beaker Browser sites is outside of the scope of this direct sharing paradigm, each of these options has strengths. The former, hashbase.io (free account required), is a web-hosted central location for dat:// -linked content, removing the need for the host computer to be running. The latter dathttpd example is an additional server/self-hosting option that can be used if desired.","created_at":"2017-08-31T21:21:56Z","updated_at":"2017-08-31T21:21:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/jdblischak/workflowr/pulls/64/commits","review_comments_url":"https://api.github.com/repos/jdblischak/workflowr/pulls/64/comments","review_comment_url":"https://api.github.com/repos/jdblischak/workflowr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jdblischak/workflowr/issues/64/comments","statuses_url":"https://api.github.com/repos/jdblischak/workflowr/statuses/439821d8a1d054509bd930c0eaf7651152d9658b","head":{"label":"jdblischak:dev","ref":"dev","sha":"439821d8a1d054509bd930c0eaf7651152d9658b","user":{"login":"jdblischak","id":1608317,"avatar_url":"https://avatars1.githubusercontent.com/u/1608317?v=4","gravatar_id":"","url":"https://api.github.com/users/jdblischak","html_url":"https://github.com/jdblischak","followers_url":"https://api.github.com/users/jdblischak/followers","following_url":"https://api.github.com/users/jdblischak/following{/other_user}","gists_url":"https://api.github.com/users/jdblischak/gists{/gist_id}","starred_url":"https://api.github.com/users/jdblischak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdblischak/subscriptions","organizations_url":"https://api.github.com/users/jdblischak/orgs","repos_url":"https://api.github.com/users/jdblischak/repos","events_url":"https://api.github.com/users/jdblischak/events{/privacy}","received_events_url":"https://api.github.com/users/jdblischak/received_events","type":"User","site_admin":false},"repo":{"id":75893305,"name":"workflowr","full_name":"jdblischak/workflowr","owner":{"login":"jdblischak","id":1608317,"avatar_url":"https://avatars1.githubusercontent.com/u/1608317?v=4","gravatar_id":"","url":"https://api.github.com/users/jdblischak","html_url":"https://github.com/jdblischak","followers_url":"https://api.github.com/users/jdblischak/followers","following_url":"https://api.github.com/users/jdblischak/following{/other_user}","gists_url":"https://api.github.com/users/jdblischak/gists{/gist_id}","starred_url":"https://api.github.com/users/jdblischak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdblischak/subscriptions","organizations_url":"https://api.github.com/users/jdblischak/orgs","repos_url":"https://api.github.com/users/jdblischak/repos","events_url":"https://api.github.com/users/jdblischak/events{/privacy}","received_events_url":"https://api.github.com/users/jdblischak/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jdblischak/workflowr","description":"Organize your project into a research website","fork":false,"url":"https://api.github.com/repos/jdblischak/workflowr","forks_url":"https://api.github.com/repos/jdblischak/workflowr/forks","keys_url":"https://api.github.com/repos/jdblischak/workflowr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jdblischak/workflowr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jdblischak/workflowr/teams","hooks_url":"https://api.github.com/repos/jdblischak/workflowr/hooks","issue_events_url":"https://api.github.com/repos/jdblischak/workflowr/issues/events{/number}","events_url":"https://api.github.com/repos/jdblischak/workflowr/events","assignees_url":"https://api.github.com/repos/jdblischak/workflowr/assignees{/user}","branches_url":"https://api.github.com/repos/jdblischak/workflowr/branches{/branch}","tags_url":"https://api.github.com/repos/jdblischak/workflowr/tags","blobs_url":"https://api.github.com/repos/jdblischak/workflowr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jdblischak/workflowr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jdblischak/workflowr/git/refs{/sha}","trees_url":"https://api.github.com/repos/jdblischak/workflowr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jdblischak/workflowr/statuses/{sha}","languages_url":"https://api.github.com/repos/jdblischak/workflowr/languages","stargazers_url":"https://api.github.com/repos/jdblischak/workflowr/stargazers","contributors_url":"https://api.github.com/repos/jdblischak/workflowr/contributors","subscribers_url":"https://api.github.com/repos/jdblischak/workflowr/subscribers","subscription_url":"https://api.github.com/repos/jdblischak/workflowr/subscription","commits_url":"https://api.github.com/repos/jdblischak/workflowr/commits{/sha}","git_commits_url":"https://api.github.com/repos/jdblischak/workflowr/git/commits{/sha}","comments_url":"https://api.github.com/repos/jdblischak/workflowr/comments{/number}","issue_comment_url":"https://api.github.com/repos/jdblischak/workflowr/issues/comments{/number}","contents_url":"https://api.github.com/repos/jdblischak/workflowr/contents/{+path}","compare_url":"https://api.github.com/repos/jdblischak/workflowr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jdblischak/workflowr/merges","archive_url":"https://api.github.com/repos/jdblischak/workflowr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jdblischak/workflowr/downloads","issues_url":"https://api.github.com/repos/jdblischak/workflowr/issues{/number}","pulls_url":"https://api.github.com/repos/jdblischak/workflowr/pulls{/number}","milestones_url":"https://api.github.com/repos/jdblischak/workflowr/milestones{/number}","notifications_url":"https://api.github.com/repos/jdblischak/workflowr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jdblischak/workflowr/labels{/name}","releases_url":"https://api.github.com/repos/jdblischak/workflowr/releases{/id}","deployments_url":"https://api.github.com/repos/jdblischak/workflowr/deployments","created_at":"2016-12-08T02:02:58Z","updated_at":"2017-08-31T15:31:55Z","pushed_at":"2017-08-28T22:11:57Z","git_url":"git://github.com/jdblischak/workflowr.git","ssh_url":"git@github.com:jdblischak/workflowr.git","clone_url":"https://github.com/jdblischak/workflowr.git","svn_url":"https://github.com/jdblischak/workflowr","homepage":"https://jdblischak.github.io/workflowr","size":570,"stargazers_count":47,"watchers_count":47,"language":"R","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":9,"mirror_url":null,"open_issues_count":29,"forks":9,"open_issues":29,"watchers":47,"default_branch":"master"}},"base":{"label":"jdblischak:master","ref":"master","sha":"04015c6c7d24749e4a28f0fcc1f8b832ce59c787","user":{"login":"jdblischak","id":1608317,"avatar_url":"https://avatars1.githubusercontent.com/u/1608317?v=4","gravatar_id":"","url":"https://api.github.com/users/jdblischak","html_url":"https://github.com/jdblischak","followers_url":"https://api.github.com/users/jdblischak/followers","following_url":"https://api.github.com/users/jdblischak/following{/other_user}","gists_url":"https://api.github.com/users/jdblischak/gists{/gist_id}","starred_url":"https://api.github.com/users/jdblischak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdblischak/subscriptions","organizations_url":"https://api.github.com/users/jdblischak/orgs","repos_url":"https://api.github.com/users/jdblischak/repos","events_url":"https://api.github.com/users/jdblischak/events{/privacy}","received_events_url":"https://api.github.com/users/jdblischak/received_events","type":"User","site_admin":false},"repo":{"id":75893305,"name":"workflowr","full_name":"jdblischak/workflowr","owner":{"login":"jdblischak","id":1608317,"avatar_url":"https://avatars1.githubusercontent.com/u/1608317?v=4","gravatar_id":"","url":"https://api.github.com/users/jdblischak","html_url":"https://github.com/jdblischak","followers_url":"https://api.github.com/users/jdblischak/followers","following_url":"https://api.github.com/users/jdblischak/following{/other_user}","gists_url":"https://api.github.com/users/jdblischak/gists{/gist_id}","starred_url":"https://api.github.com/users/jdblischak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdblischak/subscriptions","organizations_url":"https://api.github.com/users/jdblischak/orgs","repos_url":"https://api.github.com/users/jdblischak/repos","events_url":"https://api.github.com/users/jdblischak/events{/privacy}","received_events_url":"https://api.github.com/users/jdblischak/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jdblischak/workflowr","description":"Organize your project into a research website","fork":false,"url":"https://api.github.com/repos/jdblischak/workflowr","forks_url":"https://api.github.com/repos/jdblischak/workflowr/forks","keys_url":"https://api.github.com/repos/jdblischak/workflowr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jdblischak/workflowr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jdblischak/workflowr/teams","hooks_url":"https://api.github.com/repos/jdblischak/workflowr/hooks","issue_events_url":"https://api.github.com/repos/jdblischak/workflowr/issues/events{/number}","events_url":"https://api.github.com/repos/jdblischak/workflowr/events","assignees_url":"https://api.github.com/repos/jdblischak/workflowr/assignees{/user}","branches_url":"https://api.github.com/repos/jdblischak/workflowr/branches{/branch}","tags_url":"https://api.github.com/repos/jdblischak/workflowr/tags","blobs_url":"https://api.github.com/repos/jdblischak/workflowr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jdblischak/workflowr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jdblischak/workflowr/git/refs{/sha}","trees_url":"https://api.github.com/repos/jdblischak/workflowr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jdblischak/workflowr/statuses/{sha}","languages_url":"https://api.github.com/repos/jdblischak/workflowr/languages","stargazers_url":"https://api.github.com/repos/jdblischak/workflowr/stargazers","contributors_url":"https://api.github.com/repos/jdblischak/workflowr/contributors","subscribers_url":"https://api.github.com/repos/jdblischak/workflowr/subscribers","subscription_url":"https://api.github.com/repos/jdblischak/workflowr/subscription","commits_url":"https://api.github.com/repos/jdblischak/workflowr/commits{/sha}","git_commits_url":"https://api.github.com/repos/jdblischak/workflowr/git/commits{/sha}","comments_url":"https://api.github.com/repos/jdblischak/workflowr/comments{/number}","issue_comment_url":"https://api.github.com/repos/jdblischak/workflowr/issues/comments{/number}","contents_url":"https://api.github.com/repos/jdblischak/workflowr/contents/{+path}","compare_url":"https://api.github.com/repos/jdblischak/workflowr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jdblischak/workflowr/merges","archive_url":"https://api.github.com/repos/jdblischak/workflowr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jdblischak/workflowr/downloads","issues_url":"https://api.github.com/repos/jdblischak/workflowr/issues{/number}","pulls_url":"https://api.github.com/repos/jdblischak/workflowr/pulls{/number}","milestones_url":"https://api.github.com/repos/jdblischak/workflowr/milestones{/number}","notifications_url":"https://api.github.com/repos/jdblischak/workflowr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jdblischak/workflowr/labels{/name}","releases_url":"https://api.github.com/repos/jdblischak/workflowr/releases{/id}","deployments_url":"https://api.github.com/repos/jdblischak/workflowr/deployments","created_at":"2016-12-08T02:02:58Z","updated_at":"2017-08-31T15:31:55Z","pushed_at":"2017-08-28T22:11:57Z","git_url":"git://github.com/jdblischak/workflowr.git","ssh_url":"git@github.com:jdblischak/workflowr.git","clone_url":"https://github.com/jdblischak/workflowr.git","svn_url":"https://github.com/jdblischak/workflowr","homepage":"https://jdblischak.github.io/workflowr","size":570,"stargazers_count":47,"watchers_count":47,"language":"R","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":9,"mirror_url":null,"open_issues_count":29,"forks":9,"open_issues":29,"watchers":47,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jdblischak/workflowr/pulls/64"},"html":{"href":"https://github.com/jdblischak/workflowr/pull/64"},"issue":{"href":"https://api.github.com/repos/jdblischak/workflowr/issues/64"},"comments":{"href":"https://api.github.com/repos/jdblischak/workflowr/issues/64/comments"},"review_comments":{"href":"https://api.github.com/repos/jdblischak/workflowr/pulls/64/comments"},"review_comment":{"href":"https://api.github.com/repos/jdblischak/workflowr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jdblischak/workflowr/pulls/64/commits"},"statuses":{"href":"https://api.github.com/repos/jdblischak/workflowr/statuses/439821d8a1d054509bd930c0eaf7651152d9658b"}},"author_association":"NONE","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":7,"additions":447,"deletions":24,"changed_files":13}}
{"actor":{"display_login":"johnsonlab"}}