{"id":50289966,"url":"https://github.com/paulrougieux/paulrougieux.github.io","last_synced_at":"2026-05-28T05:04:44.780Z","repository":{"id":15553056,"uuid":"18288117","full_name":"paulrougieux/paulrougieux.github.io","owner":"paulrougieux","description":"Tools and data useful to analyse forest products markets","archived":false,"fork":false,"pushed_at":"2026-05-20T07:16:03.000Z","size":14614,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-20T11:01:26.523Z","etag":null,"topics":["forest","r","wood"],"latest_commit_sha":null,"homepage":"http://paulrougieux.github.io/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulrougieux.png","metadata":{"files":{"readme":"README.html","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-03-31T09:28:22.000Z","updated_at":"2026-05-20T07:16:08.000Z","dependencies_parsed_at":"2024-12-31T09:25:54.534Z","dependency_job_id":"2380bbca-73e1-47f8-87e8-f1045226ee89","html_url":"https://github.com/paulrougieux/paulrougieux.github.io","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paulrougieux/paulrougieux.github.io","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulrougieux%2Fpaulrougieux.github.io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulrougieux%2Fpaulrougieux.github.io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulrougieux%2Fpaulrougieux.github.io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulrougieux%2Fpaulrougieux.github.io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulrougieux","download_url":"https://codeload.github.com/paulrougieux/paulrougieux.github.io/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulrougieux%2Fpaulrougieux.github.io/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33594879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forest","r","wood"],"created_at":"2026-05-28T05:04:44.711Z","updated_at":"2026-05-28T05:04:44.761Z","avatar_url":"https://github.com/paulrougieux.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\n\u003chtml xmlns=\"http://www.w3.org/1999/xhtml\"\u003e\n\n\u003chead\u003e\n\n\u003cmeta charset=\"utf-8\" /\u003e\n\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /\u003e\n\u003cmeta name=\"generator\" content=\"pandoc\" /\u003e\n\u003cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=EDGE\" /\u003e\n\n\n\n\n\u003ctitle\u003e\u003c/title\u003e\n\n\u003cscript src=\"site_libs/jquery-1.11.3/jquery.min.js\"\u003e\u003c/script\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /\u003e\n\u003clink href=\"site_libs/bootstrap-3.3.5/css/bootstrap.min.css\" rel=\"stylesheet\" /\u003e\n\u003cscript src=\"site_libs/bootstrap-3.3.5/js/bootstrap.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"site_libs/bootstrap-3.3.5/shim/html5shiv.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"site_libs/bootstrap-3.3.5/shim/respond.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"site_libs/jqueryui-1.11.4/jquery-ui.min.js\"\u003e\u003c/script\u003e\n\u003clink href=\"site_libs/tocify-1.9.1/jquery.tocify.css\" rel=\"stylesheet\" /\u003e\n\u003cscript src=\"site_libs/tocify-1.9.1/jquery.tocify.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"site_libs/navigation-1.1/tabsets.js\"\u003e\u003c/script\u003e\n\u003clink href=\"site_libs/highlightjs-9.12.0/default.css\" rel=\"stylesheet\" /\u003e\n\u003cscript src=\"site_libs/highlightjs-9.12.0/highlight.js\"\u003e\u003c/script\u003e\n\n\u003cstyle type=\"text/css\"\u003ecode{white-space: pre;}\u003c/style\u003e\n\u003cstyle type=\"text/css\"\u003e\n  pre:not([class]) {\n    background-color: white;\n  }\n\u003c/style\u003e\n\u003cscript type=\"text/javascript\"\u003e\nif (window.hljs) {\n  hljs.configure({languages: []});\n  hljs.initHighlightingOnLoad();\n  if (document.readyState \u0026\u0026 document.readyState === \"complete\") {\n    window.setTimeout(function() { hljs.initHighlighting(); }, 0);\n  }\n}\n\u003c/script\u003e\n\n\n\n\u003cstyle type=\"text/css\"\u003e\nh1 {\n  font-size: 34px;\n}\nh1.title {\n  font-size: 38px;\n}\nh2 {\n  font-size: 30px;\n}\nh3 {\n  font-size: 24px;\n}\nh4 {\n  font-size: 18px;\n}\nh5 {\n  font-size: 16px;\n}\nh6 {\n  font-size: 12px;\n}\n.table th:not([align]) {\n  text-align: left;\n}\n\u003c/style\u003e\n\n\u003clink rel=\"stylesheet\" href=\"styles.css\" type=\"text/css\" /\u003e\n\n\n\n\u003cstyle type = \"text/css\"\u003e\n.main-container {\n  max-width: 940px;\n  margin-left: auto;\n  margin-right: auto;\n}\ncode {\n  color: inherit;\n  background-color: rgba(0, 0, 0, 0.04);\n}\nimg {\n  max-width:100%;\n  height: auto;\n}\n.tabbed-pane {\n  padding-top: 12px;\n}\n.html-widget {\n  margin-bottom: 20px;\n}\nbutton.code-folding-btn:focus {\n  outline: none;\n}\nsummary {\n  display: list-item;\n}\n\u003c/style\u003e\n\n\n\u003cstyle type=\"text/css\"\u003e\n/* padding for bootstrap navbar */\nbody {\n  padding-top: 51px;\n  padding-bottom: 40px;\n}\n/* offset scroll position for anchor links (for fixed navbar)  */\n.section h1 {\n  padding-top: 56px;\n  margin-top: -56px;\n}\n.section h2 {\n  padding-top: 56px;\n  margin-top: -56px;\n}\n.section h3 {\n  padding-top: 56px;\n  margin-top: -56px;\n}\n.section h4 {\n  padding-top: 56px;\n  margin-top: -56px;\n}\n.section h5 {\n  padding-top: 56px;\n  margin-top: -56px;\n}\n.section h6 {\n  padding-top: 56px;\n  margin-top: -56px;\n}\n.dropdown-submenu {\n  position: relative;\n}\n.dropdown-submenu\u003e.dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n  border-radius: 0 6px 6px 6px;\n}\n.dropdown-submenu:hover\u003e.dropdown-menu {\n  display: block;\n}\n.dropdown-submenu\u003ea:after {\n  display: block;\n  content: \" \";\n  float: right;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #cccccc;\n  margin-top: 5px;\n  margin-right: -10px;\n}\n.dropdown-submenu:hover\u003ea:after {\n  border-left-color: #ffffff;\n}\n.dropdown-submenu.pull-left {\n  float: none;\n}\n.dropdown-submenu.pull-left\u003e.dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n  border-radius: 6px 0 6px 6px;\n}\n\u003c/style\u003e\n\n\u003cscript\u003e\n// manage active state of menu based on current page\n$(document).ready(function () {\n  // active menu anchor\n  href = window.location.pathname\n  href = href.substr(href.lastIndexOf('/') + 1)\n  if (href === \"\")\n    href = \"index.html\";\n  var menuAnchor = $('a[href=\"' + href + '\"]');\n\n  // mark it active\n  menuAnchor.parent().addClass('active');\n\n  // if it's got a parent navbar menu mark it active as well\n  menuAnchor.closest('li.dropdown').addClass('active');\n});\n\u003c/script\u003e\n\n\u003c!-- tabsets --\u003e\n\n\u003cstyle type=\"text/css\"\u003e\n.tabset-dropdown \u003e .nav-tabs {\n  display: inline-table;\n  max-height: 500px;\n  min-height: 44px;\n  overflow-y: auto;\n  background: white;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n\n.tabset-dropdown \u003e .nav-tabs \u003e li.active:before {\n  content: \"\";\n  font-family: 'Glyphicons Halflings';\n  display: inline-block;\n  padding: 10px;\n  border-right: 1px solid #ddd;\n}\n\n.tabset-dropdown \u003e .nav-tabs.nav-tabs-open \u003e li.active:before {\n  content: \"\u0026#xe258;\";\n  border: none;\n}\n\n.tabset-dropdown \u003e .nav-tabs.nav-tabs-open:before {\n  content: \"\";\n  font-family: 'Glyphicons Halflings';\n  display: inline-block;\n  padding: 10px;\n  border-right: 1px solid #ddd;\n}\n\n.tabset-dropdown \u003e .nav-tabs \u003e li.active {\n  display: block;\n}\n\n.tabset-dropdown \u003e .nav-tabs \u003e li \u003e a,\n.tabset-dropdown \u003e .nav-tabs \u003e li \u003e a:focus,\n.tabset-dropdown \u003e .nav-tabs \u003e li \u003e a:hover {\n  border: none;\n  display: inline-block;\n  border-radius: 4px;\n}\n\n.tabset-dropdown \u003e .nav-tabs.nav-tabs-open \u003e li {\n  display: block;\n  float: none;\n}\n\n.tabset-dropdown \u003e .nav-tabs \u003e li {\n  display: none;\n}\n\u003c/style\u003e\n\n\u003c!-- code folding --\u003e\n\n\n\n\u003cstyle type=\"text/css\"\u003e\n\n#TOC {\n  margin: 25px 0px 20px 0px;\n}\n@media (max-width: 768px) {\n#TOC {\n  position: relative;\n  width: 100%;\n}\n}\n\n\n.toc-content {\n  padding-left: 30px;\n  padding-right: 40px;\n}\n\ndiv.main-container {\n  max-width: 1200px;\n}\n\ndiv.tocify {\n  width: 20%;\n  max-width: 260px;\n  max-height: 85%;\n}\n\n@media (min-width: 768px) and (max-width: 991px) {\n  div.tocify {\n    width: 25%;\n  }\n}\n\n@media (max-width: 767px) {\n  div.tocify {\n    width: 100%;\n    max-width: none;\n  }\n}\n\n.tocify ul, .tocify li {\n  line-height: 20px;\n}\n\n.tocify-subheader .tocify-item {\n  font-size: 0.90em;\n}\n\n.tocify .list-group-item {\n  border-radius: 0px;\n}\n\n\n\u003c/style\u003e\n\n\n\n\u003c/head\u003e\n\n\u003cbody\u003e\n\n\n\u003cdiv class=\"container-fluid main-container\"\u003e\n\n\n\u003c!-- setup 3col/9col grid for toc_float and main content  --\u003e\n\u003cdiv class=\"row-fluid\"\u003e\n\u003cdiv class=\"col-xs-12 col-sm-4 col-md-3\"\u003e\n\u003cdiv id=\"TOC\" class=\"tocify\"\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cdiv class=\"toc-content col-xs-12 col-sm-8 col-md-9\"\u003e\n\n\n\n\n\u003cdiv class=\"navbar navbar-default  navbar-fixed-top\" role=\"navigation\"\u003e\n  \u003cdiv class=\"container\"\u003e\n    \u003cdiv class=\"navbar-header\"\u003e\n      \u003cbutton type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#navbar\"\u003e\n        \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\n        \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\n        \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\n      \u003c/button\u003e\n      \u003ca class=\"navbar-brand\" href=\"index.html\"\u003ePaul Rougieux\u003c/a\u003e\n    \u003c/div\u003e\n    \u003cdiv id=\"navbar\" class=\"navbar-collapse collapse\"\u003e\n      \u003cul class=\"nav navbar-nav\"\u003e\n        \u003cli\u003e\n  \u003ca href=\"index.html\"\u003e\n    \u003cspan class=\"fa fa-home\"\u003e\u003c/span\u003e\n     \n    Home\n  \u003c/a\u003e\n\u003c/li\u003e\n\u003cli class=\"dropdown\"\u003e\n  \u003ca href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\"\u003e\n    \u003cspan class=\"fa fa-wrench\"\u003e\u003c/span\u003e\n     \n    Tools\n     \n    \u003cspan class=\"caret\"\u003e\u003c/span\u003e\n  \u003c/a\u003e\n  \u003cul class=\"dropdown-menu\" role=\"menu\"\u003e\n    \u003cli\u003e\n      \u003ca href=\"bash.html\"\u003eBash\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"debian.html\"\u003eDebian\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"docker.html\"\u003eDocker\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"git.html\"\u003eGit\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"lyx.html\"\u003eLyx\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"mysql.html\"\u003eMySQL\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"python.html\"\u003ePython\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"R.html\"\u003eR\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"vim.html\"\u003eVim\u003c/a\u003e\n    \u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/li\u003e\n\u003cli class=\"dropdown\"\u003e\n  \u003ca href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\"\u003e\n    \u003cspan class=\"fa fa-database\"\u003e\u003c/span\u003e\n     \n    Data\n     \n    \u003cspan class=\"caret\"\u003e\u003c/span\u003e\n  \u003c/a\u003e\n  \u003cul class=\"dropdown-menu\" role=\"menu\"\u003e\n    \u003cli\u003e\n      \u003ca href=\"datasources.html\"\u003eSources\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"explore.html\"\u003eExplore\u003c/a\u003e\n    \u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n  \u003ca href=\"events.html\"\u003e\n    \u003cspan class=\"fa fa-users\"\u003e\u003c/span\u003e\n     \n    Events\n  \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\n  \u003ca href=\"publications.html\"\u003e\n    \u003cspan class=\"fa fa-book\"\u003e\u003c/span\u003e\n     \n    Publications\n  \u003c/a\u003e\n\u003c/li\u003e\n      \u003c/ul\u003e\n      \u003cul class=\"nav navbar-nav navbar-right\"\u003e\n        \n      \u003c/ul\u003e\n    \u003c/div\u003e\u003c!--/.nav-collapse --\u003e\n  \u003c/div\u003e\u003c!--/.container --\u003e\n\u003c/div\u003e\u003c!--/.navbar --\u003e\n\n\u003cdiv class=\"fluid-row\" id=\"header\"\u003e\n\n\n\n\n\u003c/div\u003e\n\n\n\u003cp\u003eThis repository contains usefull tools and data related to my work on forest products.\u003c/p\u003e\n\u003cp\u003eContent is listed in a menu generated from \u003ca href=\"_site.yml\" class=\"uri\"\u003e_site.yml\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe site is built with \u003ca href=\"http://rmarkdown.rstudio.com/rmarkdown_websites.html\"\u003ermarkdown websites\u003c/a\u003e, using the R command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ermarkdown::render_site()\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eUse \u003ccode\u003eCTRL+SHIFT+B\u003c/code\u003e to build the site in RStudio.\u003c/p\u003e\n\u003cp\u003eThis shell command can also be used:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ecd ~/R/paulrougieux.github.io \u0026amp;\u0026amp; Rscript -e \u0026quot;rmarkdown::render_site()\u0026quot;\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe previous command can yanked with yy and pasted as a bang! shell comamnd in vim with \u003ccode\u003e:! CTRL + R + \u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003etest\u003c/p\u003e\n\n\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003c/div\u003e\n\n\u003cscript\u003e\n\n// add bootstrap table styles to pandoc tables\nfunction bootstrapStylePandocTables() {\n  $('tr.header').parent('thead').parent('table').addClass('table table-condensed');\n}\n$(document).ready(function () {\n  bootstrapStylePandocTables();\n});\n\n\n\u003c/script\u003e\n\n\u003c!-- tabsets --\u003e\n\n\u003cscript\u003e\n$(document).ready(function () {\n  window.buildTabsets(\"TOC\");\n});\n\n$(document).ready(function () {\n  $('.tabset-dropdown \u003e .nav-tabs \u003e li').click(function () {\n    $(this).parent().toggleClass('nav-tabs-open')\n  });\n});\n\u003c/script\u003e\n\n\u003c!-- code folding --\u003e\n\n\u003cscript\u003e\n$(document).ready(function ()  {\n\n    // move toc-ignore selectors from section div to header\n    $('div.section.toc-ignore')\n        .removeClass('toc-ignore')\n        .children('h1,h2,h3,h4,h5').addClass('toc-ignore');\n\n    // establish options\n    var options = {\n      selectors: \"h1,h2,h3\",\n      theme: \"bootstrap3\",\n      context: '.toc-content',\n      hashGenerator: function (text) {\n        return text.replace(/[.\\\\/?\u0026!#\u003c\u003e]/g, '').replace(/\\s/g, '_').toLowerCase();\n      },\n      ignoreSelector: \".toc-ignore\",\n      scrollTo: 0\n    };\n    options.showAndHide = true;\n    options.smoothScroll = true;\n\n    // tocify\n    var toc = $(\"#TOC\").tocify(options).data(\"toc-tocify\");\n});\n\u003c/script\u003e\n\n\u003c!-- dynamically load mathjax for compatibility with self-contained --\u003e\n\u003cscript\u003e\n  (function () {\n    var script = document.createElement(\"script\");\n    script.type = \"text/javascript\";\n    script.src  = \"https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\";\n    document.getElementsByTagName(\"head\")[0].appendChild(script);\n  })();\n\u003c/script\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulrougieux%2Fpaulrougieux.github.io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulrougieux%2Fpaulrougieux.github.io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulrougieux%2Fpaulrougieux.github.io/lists"}