GithubHelp home page GithubHelp logo

insileco / insileco.github.io Goto Github PK

View Code? Open in Web Editor NEW
8.0 6.0 1.0 598.5 MB

:globe_with_meridians: Our blog powered by blogdown

Home Page: https://blog.insileco.io/

License: GNU General Public License v3.0

HTML 61.45% CSS 16.28% R 6.75% TeX 11.81% Makefile 0.28% JavaScript 3.43%
rmarkdown website blog ecology computational-ecology

insileco.github.io's Introduction

inSileco blog

build-and-check build-and-deploy pages-build-deployment

The overarching goal of this blog is quite straightforward: tackle challenges and opportunities provided by this new era of open-access and computationally intensive research in the field of ecology.

Getting started

Our blog created with blogdown 📦. See our wiki 📖 to learn how to contribute to the blog!

Installation -- tl;dr

Clone the repository with submodules:

$ git clone --recurse-submodules [email protected]:inSileco/inSileco.github.io.git

In an R console:

install.packages("remotes")
remotes::install_deps()
blogdown::install_hugo()
icons::download_fontawesome()
blogdown::check_config()
blogdown::check_content()
blogdown::build_site()

Workflow

Once installed, you can simply stick to the following line of code to launch the blog:

blogdown::serve_site()

and to stop serving the blog locally, use

blogdown::stop_server()

insileco.github.io's People

Contributors

david-beauchesne avatar steveviss avatar kevcaz avatar mhbrice avatar ahasverus avatar willvieira avatar remi-daigle avatar azenor avatar eldre avatar

Stargazers

github-personal avatar Francisco Zambrano avatar  avatar  avatar Alexis Carteron avatar  avatar  avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar  avatar

Forkers

faulanier

insileco.github.io's Issues

A useful table of content

The current one available through Hugo is not really helpful (stuck at the top of the post + it interferes with the extract of the post given in the home page of the blog). I guess something as a fixed-side-toc is desired to ease the navigation on posts (as the one we get with HTML document generated using Rmarkdown).

Bibliography

We should definitely find an efficient way to handle references throughout the blog.

We could probably start with 1 .bib file per blog post to let the first author handle the references he needs (for a specific blog post). This could be easily done using the yaml-header. We could store the .bib files in the post-dedicated subfolder in asset, i.e. the subfolder where we should include all material the blog post requires.

Any thoughts? Any better strategy?

Come up with new name for blog

Per @KevCaz's idea, we should come up with a new name for the blog and start a brainstorm on the subject. To facilitate this, I propose writing our first, collective, blog post that describes briefly who we are, the goals/objectives of the blog and the letir group, and the type of content that we will be building.

Create a NEWS section

We should create a section NEWS where news will be reported (e.g. new post, new member, ...). We should also add a twitter feed and set a RSS up.

Sorting posts

So far our posts are only ordered by date. Using Hugo, it is actually pretty straight forward to create a page on which posts would be classified by tags and categories. This requires us to use taxonomies, see
https://gohugo.io/content-management/taxonomies/

So changes in the theme are required I think, I'll take care of this asap.

Font awesome 5.X

Font-awesome came with a major release recently, shall we use it?

Search in our posts

We are accumulating some nice material but it's kind of tricky to search for a specific post in our list of posts. I'd be happy if we could add a search engine feature! In the meanwhile I'll come up with a slightly different display for the list of posts.

Let's make TraviSteve's life easier.

We should find a way to lighten the build of our website and come up with a strategy to archive former posts.

So far, we we push a new post, Travis builds the website from scratch which means it installs all R packages needed and their dependencies (i.e. additional R packages and other numerical tools such as pandoc). This is pretty cool as this workflow makes our blog a reproducible one. That being said, it also means that
the version of the numerical tools will be permanently updated (and used as such for newer posts) and thereby we may encounter some issues with posts using a different version of the same package.

In order to address this version issue and lighten the build:

1- once the post is reviewed, we should remove the .Rmd files from the post folder and only keep the .html version only (a .md version may be a better option);

2- then we should find a way to archive all .Rmd files associated with these posts (i.e. store them in a specific folder and add a link in the md or html version).

Windows compatibility

I can't pull the site from github using a Win 10 machine.

The problem seems to be the ionicons.tff?raw=true
The error message is:

error: unable to create file content/post/iconsInR/assets/ionicons.ttf?raw=true: Invalid argument
Checking out files: 100% (421/421)   
Checking out files: 100% (421/421), done.
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

Tag blog posts

We should tag our blog posts with key words, this could/should be done by inserting something like:

keywords:
    -  key1
    -  key2 

in the YAML hearder of each blog post and then a short JS script should associate blog posts with keywords. Such feature would be extremelly useful!

Post series on Mathematical Modeling

Hi gang,
@willvieira and I thought of doing a series of post on mathematical modelling inspired from a workshop we are doing at the uni on the book "A Biologist's guide to Mathematical Modeling in Ecology and Evolution" from Otto and Day. We wrote a short description of the posts here. Let us know what you think about the idea, the structure and if you'd like to participate! :)

Mathematical Modeling in Ecology with R

Post 1

Why mathematical modeling?

Advantages and disadvantages.

  • Chapter 1: introduction

  • Chapter 2: how to construct a model?

Example of a simple model in R. (Two species mutualism interaction model?)

Primer post ?!

Linearization

Post 2

Equilibria and stability analysis of the model introduced previously (Chapter 5).

Package DeSolve and rootSolve

  • Find the equilibria: ode(), runsteady(), multiroot() and other functions
  • Determine its stability: jacobian.full()...
  • Difference between linear and non linear models, techniques for non linear models.

Post 3

Graphical representation of stability analysis

Phase plan: Illustration of eigenvectors (associated to eigenvalues). (Van der Pol oscillator?)

Post 4

General solutions and linear algebra

Post 5

Probabilistic models: add stochasticity to our toy model and analyze it

Post 6

Analyzing continuous stochastic models: Diffusion in time and space

Hugo integration

Dev on the branch dev_visual:

Responsive website

  • Avoid flatten logo/banner to improve responsive design.
  • Fix responsiveness of the blog pages (issue with col-sm-12).

Home page:

  • Add the 5 most common tags -> Link to one page by tag with all posts related
  • Add the 5 latest blog post on the home page
  • Add twitter timeline

Blog posts integration with Hugo:

  • Match author ids with their profiles in order to add hyperlink to Github/researchGate/ORCID/twitter
  • Add twitter button
  • Add status (Draft are automatically unpublished, In revision and Final version)
  • Setting up image variable in the header to allow user to setup their own banner.

Softwares page:

  • One YAML by softwares with a quick description
  • Link to Travis/Codecov etc..

About page:

Author helpers:

  • Create an archetype: default YAML when you call blogdown::new_post()
  • Create documentation on external ressources related/needed to the post
  • Develop an automated installation procedure for any packages needed by the posts (making sure new author/Travis will have any troubles rebuilding the site locally).

Creates a tutorial section

I think it would be very useful to add such a section. In this tutorial section, we would gather all the tutorials we did so far and I can see at least two good reasons to do so:

  1. let the visitor of the blog know what kind of tutorial we are able to give;
  2. we could then build upon the existing tutorial even if we are not the original authors; for instance, I would be happy to use the Slack/GH tuto made @ahasverus few weeks ago.

We should think long-term!

Form a web-site/code point of view there is not much to do: a yaml + a template I'll take care of this.
Let me know if you have any comment.

Feature to ease the download of the material

I propose to add a new field in the yaml header that would ease the way the reader can dowload th material. Below an example of what the yaml header shuold look like:

download:  
  - text: "mat_1"
    icon: "fa fa-code"
    href: "cool.jpg" 
  - text: "mat_2"
    icon: "fa fa-archive"
    href: "cool.zip"

Then links are added to the post below the keywords.
By default the .Rmd and R files must be available.

add a *how to contribute* section

This should include all the information to contribute efficiently to the post.
For instance, it will cover:

  1. how to proceed for new contributors as @david-beauchesne explains in:

Ok, so we need to update the authors/contributors for the site. It is quite simple, you need to fill in a separate yaml file per author. Go to ./data/authors/, copy a file there and fill out the yaml header with your information. Push and commit your newly created yaml file with your name as the file name. Keep the name super(!!) simple, it's what we use in the posts to identify authors. The website will be automatically updated once you add in your information.

  1. how we should proceed, direct push on the dev branch or a PR process? (I'd suggest the latter);

  2. how files should be named;

  3. etc.

First blog post - comments and tone of writing

So I came up with a first quick draft for the blog post. Kevin made a comment that I think is worth delving into a bit more.

Writing as a group is not easy, and this first blog post can kind of set the tone for how other posts are written. I obviously came up with something much lighter with some attempts at being funny, which means that I set a tone for the onset. I happen to think light and funny is the best, because then you can easily add feelings to how you write, and let’s be frank, that’s how you get people’s interest, not when you write scientifically. But that’s my opinion and it may not reflect everyone’s, and it doesn't have to stay that way.

I think a conversation on the tone is necessary and it would be nice if everyone could chime in on the topic. I think we are all comfortable enough to speak our minds without restraint, so fire away. If you guys think we need to throw this in the garbage, by all means say so and I'll be perfectly comfortable with the idea!

And any case, edit the post as much as you wish! Here it is!

Common code chunks configuration

We should find a way to use the same code chunk settings for all our posts.
I mean it's useless to keep tuning the code chunk for all posts whereas this could be automated.

R in Space, a spatial and educational blog post series

I suggest building a series of blog posts that can be used as lessons that show multiple facets of making maps in R and working with spatial data. The goal would be to build a series of posts that could be used in an educational setting to show how to work with spatial data, perform spatial analyses, visualize spatial data and some cartography stuff.

Part of this series would be used shortly for a student retreat in April where students are interested in learning about cartography.

Here are a few points that are interesting for us:

  • sf is making great strides and will replace sp whether people like it or not (I happen to like it)! It could be an opportunity for people who are not yet familiar with sf to learn.
  • increased visibility for inSileco
  • blog post series on something that represents well the members of this group
  • educational material and experience
  • write a post on visualizing spatial data in R, tips and pitfalls, simple shiny app for interactive visualization (from previously opened issue)

Submitting your R package

I am currently releasing a small package on the CRAN and I'd like to write a few notes about this.

Bayesian stats blog series

Freshly coming off a week of doing bayesian statistics for a lot of us, myself, @KevCaz and @SteveViss have discussed the possibility of coming up with a series of blog posts on the use of bayesian stats in ecology. With Kevin, here are a few thoughts we've had for the posts. If you are interested in helping out or have ideas of your own, please feel free to comment!

Series title: Bayes in Ecology, Ecology of Bayes, etc?

  1. Bayesian statistics phylosophy (general post on bayes and the structure of the series of blog posts) (w/ formula)
  2. Conjugate (material ready, @KevCaz)
  3. Prior & posteriors (material ready, @KevCaz)
  4. Data choice/impact
  5. Bayes vs frequentist approach (material ready, @KevCaz)
  6. Revisit classic foundational paper in ecology that uses a frequentist approach
  7. Metropolis-Hastings (rcpp, @KevCaz)
  8. Hierarchical models (Gibbs w/ metropolis hastings)
  9. How to interpret results (Metrics to interpret results)
  10. Existing Bayesian tools
  11. Bayesian model averaging

HEADER: short description of blog series that is repeated in every post of the series, to include in the yaml portion of the rmd.

Add twitter account and twitter feed

We should create a twitter account and add a twitter feed with all tweets from ourselves and the letir account on the home page.

I haven't created an account because @letir is already taken. Since we want to come up with a new name for the blog, I figured that we could merge them together for a twitter account name (see Issue #7), e.g. @letir_REcol (révolution écologique!).

We should value our reviewers

I think we should mention people that review our posts.
So in the YAML front matter, let's add something like:

reviewer: [author1, author2]

and handle let's find a way to handle the display properly.

On Travis => `GLIBCXX_3.4.20' not found

I have been struggling for quite some time with this error:

hugo: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by hugo)
hugo: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by hugo)

As far as I understand libstdc++ comes with gcc and depending on the version of gcc you have a different version libstdc++ (and a different GLIBCXX).
Newer versions of Hugo use Go 1.11 as explained in the readme of the GH project https://github.com/gohugoio/hugo:

Since Hugo 0.48, Hugo uses the Go Modules support built into Go 1.11 to build

And Go 1.11 may require a newer version of gcc (I may be totally wrong about this...). Anyway as
Xenial is now available on Travis and given that it comes with gcc 5.4.0 I change dist: trusty for dist:xenial in the Travis settings and it worked!

Let's archive old posts

I ran into an issue due to a major update in the robis package that makes me think that we should archive posts that are older than 1 year. It should be simple

  1. make sure the R session is always displayed at the end of the post in a details session;
  2. move the rmd into an archive folder;
  3. and only keep the html files of old post.

We can create an archive() function that would do that for us (read the yaml header check the data an archive).

Add a wiki section

We have been discussing this with @david-beauchesne for some time and came to the conclusion that the blog would benefit from having a wiki section.

If you have read the post List of R packages to create and edit plots, you may have thought that this web page looks more like a wiki page than a blog post (we may need a clear definition of what a blog post is...). Indeed, we gather therein links to relevant packages and we add a new link as soon as we come across a new package worth being added. To me, this kind of web page fits well in a wiki, what do you think guys?

As for now, I would recommend that we make this web page the first of a new section called wiki (a well-chosen name, isn't it?). We would take some time to think more about how to organize our wiki once the number of pages of this nature justifies it.

Disturbance ecology post series

I've already begun on this, but since we said that we would advertise upcoming posts as issues, I am describing here the posts that I wish to write for this series.

Disturbance ecology:

  • Introductory post
  • Modelling disturbances: a literature review
  • Discrete density-independent growth
  • Continuous density-independent growth
  • Density-independent demographic models
  • Discrete density-dependent growth
  • Continuous density-dependent growth
  • Niche model
  • Allometric trophic network model

Author information - yaml files per contributors

Ok, so we need to update the authors/contributors for the site. It is quite simple, you need to fill in a separate yaml file per author.

Go to ./data/authors/, copy a file there and fill out the yaml header with your information. Push and commit your newly created yaml file with your name as the file name. Keep the name super(!!) simple, it's what we use in the posts to identify authors. The website will be automatically updated once you add in your information.

This task is for the people who are not already on the website:

Disqus section

We used to have a Disqus section, we should put it back!

Section "tips"

Regarding our last meeting and some recent discussions with @david-beauchesne and @SteveViss
I think we should gather our "inSileco tips" within a new section of the blog. This section will include our "trick and tips" series as well as any kind of tips.

By the way, I'd to start a new series "Do it with the command line interface" (DiWiCli) that would explain to do a specific manipulation with the CLI.

What do you think?

Code tips blog series - Find catchy name!

I think the code tips blog series is a wonderful idea. Simple and fast to implement, with a big outreach potential. With that in mind, I would suggest finding a specific name for that blog series, one that is catchy and has an obscene component to it, e.g. Shit academics say.

Any suggestions?

Trick and tips

Currently we use a R scirpt to add a paragraph describing the series. We should better use a shortcode!

Conflict between tocify and mapview

To create our blog, we now use tocify along with blogdown to create posts on various topics, notably posts that include calls to R functions that create HTML widgets.

Recently, @eldre noticed that in one of our recent blog post he table of content generated by tocify was missing and I came to realize that actually every post in which we call mapview (a function that creates a HTML widget) has the same issues. Given how rmarkdown loads js libraries, I realize that this is likely due to a multiple load of jQuerry.

Wordcloud

Currently, the wordcloud on the index page is troublesome for at least 3 reasons:

  1. most browser often fails to display it coreectly (reloading several times help but it's not a solution);
  2. we have to rebuild it each time the index page is regenerated;
  3. the data are stored in a dropbox and therefore not available for everyone;

I propose to generate the worcloud as a standalone html file and then include it within an iframe. It may not be the best solution but this should solve the points raised above.

Add shiny app?

Do you want to add your shiny apps on the software page? If so I'll do it :)

video format

So far, I am the only one that has used video in a post (@david-beauchesne used .gif files IIRC) and
I have used .webm files. Thanks to @ahasverus I am now aware that it does not work on Safari and as mentioned on the wiki page about this format https://en.wikipedia.org/wiki/WebM, it actually requires a plugin to make it work with Safari. So what shall we do?

  1. use 1 format for all, if so which one?
  2. use 2 different formats (or more) .webm and another one for Safari (which one?) and use a html code that would allow the correct selection https://www.w3.org/community/webed /wiki/Optimizing_content_for_different_browsers:_the_RIGHT_way
  3. another option? (a pop up saying do not use Safari 😸 )!

Once decided, we should mention this in our contributing section that is nit created yet #36.

Support 2 or more languages

We all are french speaker (and we have a Brasilian guy on board), so I think it makes sense that some sections of our common website become bilingual. We have discussed about it today with @david-beauchesne who, by the way, needs such feature for another website. Note that @ahasverus has already done such thing for his web page; the site of YinHui Xie (the creator of the knitr package), which likely uses Rmarkdown, supports such feature.

I guess I can do something using a JS script and there are likely a bunch of solutions available on line. So if you think about a good strategy, please comment below!!

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.