Git Product home page Git Product logo

labnotebook's Introduction

labnotebook's People

Contributors

cboettig avatar rekyt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

labnotebook's Issues

manage published date vs date modified

  • The base url should provide the date published.
  • Add date-modified to yaml, and add date-modified to post metadata
  • Pages should also have a fixed date-published, and update the date-modified.

Trick is to have the metadata handle the case of no modification date successfully (e.g. by copying the date published then instead?)

tags vs categories

either prune down category list or just eliminate categories and rely on tags alone

Suggestion: sandbox installation in instructions

I like your installation instructions; I've followed them, with minor changes, and they seem to work well. The minor changes I made were changes to commands in order to sandbox the installation.

  1. I installed everything using RVM. If you're using Ubuntu 12.04, you should be able to install RVM with

    sudo apt-get install ruby-rvm
    

    RVM has nice capabilities for sandboxing Ruby installations, so if someone wants to try out your site, they don't have to mess with their own Ruby installation. To replicate your setup, after installing RVM, you could then do the following:

    rvm install 1.9.1 # Installs a sandboxed version of Ruby 1.9.1; system copy of Ruby still exists
    rvm create gemset carlboettiger_labnotebook # Creates a sandboxed Ruby 1.9.1 install
    # This sandboxed Ruby 1.9.1 installation has its own gems, distinct from RVM's root copy 
    # of Ruby 1.9.1, AND the system Ruby install
    rvm use 1.9.1@carlboettiger_labnotebook
    

    Note that every time you start up your terminal, and you want to use this particular Ruby installation, you'll need to type

    rvm use 1.9.1@carlboettiger_labnotebook
    

    so you select the right Ruby installation; otherwise, it will default to the RVM default. (You can also have RVM use your system Ruby installation via

    rvm use system
    

    See the RVM docs for further details about RVM.)

  2. Your gem installation instructions will install gems for multiple users, altering the global configuration. It would be better to replace

    sudo gem install jekyll feedzirra nokogiri twitter octokit pandoc-ruby
    

    with

    gem install jekyll feedzirra nokogiri twitter octokit pandoc-ruby # no sudo!
    

    which will limit the installation to a local, single-user install. It will also make the installation more accessible to users who don't have sudo privileges. (I don't have them at work, for instance.)

Both of these recommendations should make the installation safer for interested users.

open science page?

place visitors can get a snapshot of my openscience activities, such as participation in science online and other conferences, ropensci project , and links to the most relevant posts in the ropensci tag?

Touch up / standardize categories and tags

Also

  • Add links to the categories and tags page off the main lab-notebook.html
  • Resize text/layout on categories page
  • Add categories to newer pages?
  • move "All categories" list into a second column

add RDFa in vita.html

Note: Not sure how to keep vita easy to maintain (e.g. markdown) and rdfa information as well. Perhaps will need to be automatically generated like other bibliography entries in posts, e.g. through knitcitations.

Categories page should look like separate notebooks

Ideally would graphically capture the idea that categories should be seen as separate leather-bound notebooks on a shelf, and selecting each lists the entries in that category as a table of contents. Might make use of twitter-bootstrap javascript for a dynamic feel.

Could consider some twitter-bootstrap accordion folding for tags list too.

adjust html templates to polyglot standards for XML validation

HTML5 allows tags to be unclosed, e.g. <meta charset="utf-8"> instead of <meta charset="utf-8" /> but this is not valid XML.

See:

Note that tags with no content must be closed with /> (like the meta example) while tags with content must get a normal closing (<li> item </li> etc) .

HTML5 spec is kinda logical since closing is syntax redundant even though not closing is not valid XML, see SO question for discussion.

links to other social networks?

While I'd rather not clutter my footer, wondering about adding links to my profile on other social networks I frequently use -- in particular, figshare, G+, possibly stackoverflow.

Better integration of "Github Issues" into lab notebook

Issues are not preserved as part of the Git repository, so consequently this data is not backed up anywhere else. Would be useful to use the API to generate a markdown file with the issue number and discussion log preserved. Could live in an issues/ directory in the repository.

Effectively integrating these into notebook entries themselves (or a separate page in the notebook for issues logs) is rather another challenge, but also valuable. See http://www.carlboettiger.info/2012/10/05/notes.html

Building notebook fails

First, I tried the following setup in RVM:

Ruby 1.9.3p362 (2012-12-25 revision 38607) [x86_64-linux]

with the following locally installed gems:

activesupport (3.1.9)
addressable (2.3.2)
builder (3.1.4)
bundler (1.2.3)
classifier (1.3.3)
curb (0.7.18)
directory_watcher (1.4.1)
faraday (0.8.4)
faraday_middleware (0.9.0)
fast-stemmer (1.0.1)
feedzirra (0.1.3)
hashie (1.2.0)
i18n (0.6.1)
jekyll (0.12.0)
json (1.7.6)
kramdown (0.13.8)
liquid (2.4.1)
loofah (1.2.1)
maruku (0.6.1)
multi_json (1.5.0, 1.2.0)
multipart-post (1.1.5)
netrc (0.7.7)
nokogiri (1.5.6)
octokit (1.20.0)
pandoc-ruby (0.6.0)
posix-spawn (0.3.6)
pygments.rb (0.3.7)
rake (10.0.3)
rdoc (3.12)
rubygems-bundler (1.1.0)
rvm (1.11.3.5)
sax-machine (0.1.0)
simple_oauth (0.2.0)
syntax (1.0.0)
twitter (4.4.2)
yajl-ruby (1.1.0)

These gems should be the gems installed when running

gem install jekyll feedzirra nokogiri twitter octokit pandoc-ruby

I got the following error when I built the notebook using Jekyll:

Configuration from " /home/oxberry1/carl_lab_notebook.git/_config.yml
/home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1637:in raise_if_conflicts': Unable to activate activesupport-3.1.9, because multi_json-1.5.0 conflicts with multi_json (< 1.3, >= 1.0) (Gem::LoadError) from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:746:inactivate'
from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:780:in block in activate_dependencies' from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:766:ineach'
from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:766:in activate_dependencies' from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:750:inactivate'
from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems.rb:212:in rescue in try_activate' from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems.rb:209:intry_activate'
from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in rescue in require' from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:inrequire'
from /home/oxberry1/carl_lab_notebook.git/_plugins/jekyll-labnotebook-plugins/mendeley_feed.rb:1:in <top (required)>' from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire'
from /home/oxberry1/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/lib/jekyll/site.rb:78:inblock (2 levels) in setup'
from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/lib/jekyll/site.rb:77:in each' from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/lib/jekyll/site.rb:77:inblock in setup'
from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/lib/jekyll/site.rb:76:in each' from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/lib/jekyll/site.rb:76:insetup'
from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/lib/jekyll/site.rb:31:in initialize' from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/bin/jekyll:238:innew'
from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/gems/jekyll-0.12.0/bin/jekyll:238:in <top (required)>' from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/bin/jekyll:19:inload'
from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/bin/jekyll:19:in <main>' from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/bin/ruby_noexec_wrapper:14:ineval'
from /home/oxberry1/.rvm/gems/ruby-1.9.3-p362@jekyll_0_12_0/bin/ruby_noexec_wrapper:14:in `

'

So I figured I'd try a second installation in RVM:

Ruby 1.9.1p431 (2011-02-18 revision 30908) [x86_64-linux]

*** LOCAL GEMS ***

activesupport (3.1.9)
addressable (2.3.2)
builder (3.1.4)
bundler (1.2.3)
classifier (1.3.3)
curb (0.7.18)
directory_watcher (1.4.1)
faraday (0.8.4)
faraday_middleware (0.9.0)
fast-stemmer (1.0.1)
feedzirra (0.1.3)
hashie (1.2.0)
i18n (0.6.1)
jekyll (0.12.0)
json (1.7.6)
kramdown (0.13.8)
liquid (2.4.1)
loofah (1.2.1)
maruku (0.6.1)
multi_json (1.5.0, 1.2.0)
multipart-post (1.1.5)
netrc (0.7.7)
nokogiri (1.5.6)
octokit (1.20.0)
pandoc-ruby (0.6.0)
posix-spawn (0.3.6)
pygments.rb (0.3.7)
rake (10.0.3)
rdoc (3.12)
rubygems-bundler (1.1.0)
rvm (1.11.3.5)
sax-machine (0.1.0)
simple_oauth (0.2.0)
syntax (1.0.0)
twitter (4.4.2)
yajl-ruby (1.1.0)

Again, these gems should be installed when running the command

gem install jekyll feedzirra nokogiri twitter octokit pandoc-ruby

I got the following error when building the notebook in Jekyll:

Configuration from /home/oxberry1/carl_lab_notebook.git/_config.yml
Building site: /home/oxberry1/carl_lab_notebook.git -> /home/oxberry1/carl_lab_notebook.git/_site
YAML Exception reading 2010-02-09-Comparative-Phylogenetics-Notebook-(from-OWW).markdown: syntax error on line 2, col 22: tags: [model-choice, ]' YAML Exception reading 2010-02-16-Comparative-Phylogenetics-Notebook-(from-OWW).markdown: syntax error on line 2, col 22:tags: [model-choice, ]'
YAML Exception reading 2010-03-04-Comparative-Phylogenetics-Notebook-(from-OWW).markdown: syntax error on line 2, col 21: `tags: [code-tricks, ]'

Liquid Exception: undefined method sort_by!' for #<Array:0x000000052fdf50> in tags.html /home/oxberry1/carl_lab_notebook.git/_plugins/tag-cloud.rb:75:inrender'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/liquid-2.4.1/lib/liquid/block.rb:94:in block in render_all' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/liquid-2.4.1/lib/liquid/block.rb:92:incollect'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/liquid-2.4.1/lib/liquid/block.rb:92:in render_all' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/liquid-2.4.1/lib/liquid/block.rb:82:inrender'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/liquid-2.4.1/lib/liquid/template.rb:124:in render' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/liquid-2.4.1/lib/liquid/template.rb:132:inrender!'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/lib/jekyll/convertible.rb:79:in do_layout' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/lib/jekyll/page.rb:100:inrender'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/lib/jekyll/site.rb:204:in block in render' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/lib/jekyll/site.rb:203:ineach'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/lib/jekyll/site.rb:203:in render' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/lib/jekyll/site.rb:41:inprocess'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/gems/jekyll-0.12.0/bin/jekyll:264:in <top (required)>' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/bin/jekyll:19:inload'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/bin/jekyll:19:in <main>' /home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/bin/ruby_noexec_wrapper:14:ineval'
/home/oxberry1/.rvm/gems/ruby-1.9.1-p431@carl_notebook/bin/ruby_noexec_wrapper:14:in `

'
Build Failed

As a test, I built the Jekyll-bootstrap site (cloned from its canonical Git repo today) using the two configurations above. The build worked flawlessly with the first configuration, and completed with minor HTML rendering errors in the second configuration. Any suggestions as to what might be going on?

My host OS is Fedora 17-x86_64, in case that matters. You should be able to use RVM and the gem lists above to replicate at least the Ruby part of my configuration.

solarized color theme for ggplot

Generating graphs that work well in both light and dark themes for the notebook is quite tricky. Using solarized colors for the graphs is the natural solution.

Generalize feedzirra plugin

Should allow custom url and custom formatting.

  • Should these be set in _config.yml variables?
  • Easier to just edit module for custom layout?
  • Add CSS controlled markup to feeds
  • Review writing liquid extensions, consider choice of function types
  • Consider creating as separate repository

Update homepage blurb

  • Description should more closely match postdoctoral work.
  • Separate description of thesis work, with links to Alan & CSGF

Or a short description that better/more accurately unifies post-doc and grad work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.