diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..6cc9e52 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,9 @@ +Please delete the text below before submitting your contribution. + +--- + +Thanks for contributing! If this contribution is for instructor training, please send an email to checkout@carpentries.org with a link to this contribution so we can record your progress. You’ve completed your contribution step for instructor checkout just by submitting this contribution. + +Please keep in mind that lesson maintainers are volunteers and it may be some time before they can respond to your contribution. Although not all contributions can be incorporated into the lesson materials, we appreciate your time and effort to improve the curriculum. If you have any questions about the lesson maintenance process or would like to volunteer your time as a contribution reviewer, please contact Kate Hertweck (k8hertweck@gmail.com). + +--- diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..6cc9e52 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ +Please delete the text below before submitting your contribution. + +--- + +Thanks for contributing! If this contribution is for instructor training, please send an email to checkout@carpentries.org with a link to this contribution so we can record your progress. You’ve completed your contribution step for instructor checkout just by submitting this contribution. + +Please keep in mind that lesson maintainers are volunteers and it may be some time before they can respond to your contribution. Although not all contributions can be incorporated into the lesson materials, we appreciate your time and effort to improve the curriculum. If you have any questions about the lesson maintenance process or would like to volunteer your time as a contribution reviewer, please contact Kate Hertweck (k8hertweck@gmail.com). + +--- diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..659aeec --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +FIXME: list authors' names and email addresses. diff --git a/CITATION b/CITATION new file mode 100644 index 0000000..d5bfc2b --- /dev/null +++ b/CITATION @@ -0,0 +1 @@ +FIXME: describe how to cite this lesson. diff --git a/CONDUCT.md b/CONDUCT.md index 4966058..c323ec5 100644 --- a/CONDUCT.md +++ b/CONDUCT.md @@ -3,6 +3,12 @@ layout: page title: "Contributor Code of Conduct" permalink: /conduct/ --- +As contributors and maintainers of this project, +we pledge to respect all people who contribute through reporting issues, +posting feature requests, +updating documentation, +submitting pull requests or patches, +and other activities. The CWL Project is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, age, race, or religion. We do not tolerate harassment of participants in any form. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5d15dc0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,150 @@ +# Contributing + +The [Common Workflow Language project](cwl-site) is an open source project, +and we welcome contributions of all kinds: +new lessons, +fixes to existing material, +bug reports, +and reviews of proposed changes are all welcome. + +## Contributor Agreement + +By contributing, +you agree that we may redistribute your work under [our license](LICENSE.md). +In exchange, +we will address your issues and/or assess your change proposal as promptly as we can, +and help you become a member of our community. +Everyone involved in the [Common Workflow Language project](cwl-site) +agrees to abide by our [code of conduct](CONDUCT.md). + +## How to Contribute + +The easiest way to get started is to file an issue +to tell us about a spelling mistake, +some awkward wording, +or a factual error. +This is a good way to introduce yourself +and to meet some of our community members. + +1. If you do not have a [GitHub][github] account, + you can [send us comments by email][contact]. + However, + we will be able to respond more quickly if you use one of the other methods described below. + +2. If you have a [GitHub][github] account, + or are willing to [create one][github-join], + but do not know how to use Git, + you can report problems or suggest improvements by [creating an issue][issues]. + This allows us to assign the item to someone + and to respond to it in a threaded discussion. + +3. If you are comfortable with Git, + and would like to add or change material, + you can submit a pull request (PR). + Instructions for doing this are [included below](#using-github). + +## Where to Contribute + +1. If you wish to change this lesson, + please work in , + which can be viewed at . + +2. If you wish to change the example lesson, + please work in , + which documents the format of our lessons + and can be viewed at . + +3. If you wish to change the template used for workshop websites, + please work in . + The home page of that repository explains how to set up workshop websites, + while the extra pages in + provide more background on our design choices. + +4. If you wish to change CSS style files, tools, + or HTML boilerplate for lessons or workshops stored in `_includes` or `_layouts`, + please work in . + +## What to Contribute + +There are many ways to contribute, +from writing new exercises and improving existing ones +to updating or filling in the documentation +and and submitting [bug reports][issues] +about things that don't work, aren't clear, or are missing. +If you are looking for ideas, +please see [the list of issues for this repository][issues], +or the issues for [Common Workflow Language](cwl-issues) project itself. + +Comments on issues and reviews of pull requests are just as welcome: +we are smarter together than we are on our own. +Reviews from novices and newcomers are particularly valuable: +it's easy for people who have been using these lessons for a while +to forget how impenetrable some of this material can be, +so fresh eyes are always welcome. + + +## Using GitHub + +If you choose to contribute via GitHub, +you may want to look at +[How to Contribute to an Open Source Project on GitHub][how-contribute]. +In brief: + +1. The published copy of the lesson is in the `gh-pages` branch of the repository + (so that GitHub will regenerate it automatically). + Please create all branches from that, + and merge the [master repository][repo]'s `gh-pages` branch into your `gh-pages` branch + before starting work. + Please do *not* work directly in your `gh-pages` branch, + since that will make it difficult for you to work on other contributions. + +2. We use [GitHub flow][github-flow] to manage changes: + 1. Create a new branch in your desktop copy of this repository for each significant change. + 2. Commit the change in that branch. + 3. Push that branch to your fork of this repository on GitHub. + 4. Submit a pull request from that branch to the [master repository][repo]. + 5. If you receive feedback, + make changes on your desktop and push to your branch on GitHub: + the pull request will update automatically. + +Each lesson has two maintainers who review issues and pull requests +or encourage others to do so. +The maintainers are community volunteers, +and have final say over what gets merged into the lesson. + +## Other Resources + +General discussion of [Common Workflow Language](cwl-site) project +happens on the [discussion mailing list][discuss-list], +which everyone is welcome to join. + +[dc-issues]: https://github.com/issues?q=user%3Adatacarpentry +[dc-lessons]: http://datacarpentry.org/lessons/ +[dc-site]: http://datacarpentry.org/ +[discuss-list]: https://groups.google.com/forum/#!forum/common-workflow-language +[github]: http://github.com +[github-flow]: https://guides.github.com/introduction/flow/ +[github-join]: https://github.com/join +[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github +[issues]: https://github.com/common-workflow-language/user_guide/issues +[repo]: https://github.com/common-workflow-language/user_guide +[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry +[swc-lessons]: http://software-carpentry.org/lessons/ +[swc-site]: http://software-carpentry.org/ +[cwl-site]: http://www.commonwl.org/ diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..06bd6d1 --- /dev/null +++ b/_config.yml @@ -0,0 +1,73 @@ +#------------------------------------------------------------ +# Values for this lesson. +#------------------------------------------------------------ + +# Which carpentry is this ("swc", "dc", "lc", or "cwl")? +carpentry: "cwl" + +# Overall title for pages. +title: "Lesson Title" + +# Contact. This *must* include the protocol: if it's an email +# address, it must look like "mailto:lessons@software-carpentry.org", +# or if it's a URL, "https://gitter.im/username/ProjectName". +contact: "mailto:lessons@software-carpentry.org" + +#------------------------------------------------------------ +# Generic settings (should not need to change). +#------------------------------------------------------------ + +# What kind of thing is this ("workshop" or "lesson")? +kind: "lesson" + +# Magic to make URLs resolve both locally and on GitHub. +# See https://help.github.com/articles/repository-metadata-on-github-pages/. +repository: / + +# Sites. +amy_site: "https://amy.software-carpentry.org/workshops" +dc_site: "http://datacarpentry.org" +swc_github: "https://github.com/swcarpentry" +swc_site: "https://software-carpentry.org" +swc_pages: "https://swcarpentry.github.io" +lc_site: "http://librarycarpentry.github.io/" +template_repo: "https://github.com/swcarpentry/styles" +example_repo: "https://github.com/swcarpentry/lesson-example" +example_site: "https://swcarpentry.github.com/lesson-example" +workshop_repo: "https://github.com/swcarpentry/workshop-template" +workshop_site: "https://swcarpentry.github.io/workshop-template" +training_site: "https://swcarpentry.github.io/instructor-training" + +# Surveys. +pre_survey: "https://www.surveymonkey.com/r/swc_pre_workshop_v1?workshop_id=" +post_survey: "https://www.surveymonkey.com/r/swc_post_workshop_v1?workshop_id=" +training_post_survey: "https://www.surveymonkey.com/r/post-instructor-training" + +# Start time in minutes (0 to be clock-independent, 540 to show a start at 09:00 am). +start_time: 0 + +# Specify that things in the episodes collection should be output. +collections: + episodes: + output: true + permalink: /:path/ + extras: + output: true + +# Set the default layout for things in the episodes collection. +defaults: + - values: + root: .. + - scope: + path: "" + type: episodes + values: + layout: episode + +# Files and directories that are not to be copied. +exclude: + - Makefile + - bin + +# Turn off built-in syntax highlighting. +highlighter: false diff --git a/_episodes/01-introduction.md b/_episodes/01-introduction.md new file mode 100644 index 0000000..9bed75f --- /dev/null +++ b/_episodes/01-introduction.md @@ -0,0 +1,15 @@ +--- +title: "Introduction" +teaching: 0 +exercises: 0 +questions: +- "Key question" +objectives: +- "First objective." +keypoints: +- "First key point." +--- +Content here + +{% include links.md %} + diff --git a/_extras/about.md b/_extras/about.md new file mode 100644 index 0000000..aa7beea --- /dev/null +++ b/_extras/about.md @@ -0,0 +1,6 @@ +--- +layout: page +title: About +permalink: /about/ +--- +{% include carpentries.html %} diff --git a/_extras/discuss.md b/_extras/discuss.md new file mode 100644 index 0000000..1d467a4 --- /dev/null +++ b/_extras/discuss.md @@ -0,0 +1,6 @@ +--- +layout: page +title: Discussion +permalink: /discuss/ +--- +FIXME diff --git a/_extras/figures.md b/_extras/figures.md new file mode 100644 index 0000000..de99a57 --- /dev/null +++ b/_extras/figures.md @@ -0,0 +1,6 @@ +--- +layout: page +title: Figures +permalink: /figures/ +--- +{% include all_figures.html %} diff --git a/_extras/guide.md b/_extras/guide.md new file mode 100644 index 0000000..0bad995 --- /dev/null +++ b/_extras/guide.md @@ -0,0 +1,6 @@ +--- +layout: page +title: "Instructor Notes" +permalink: /guide/ +--- +FIXME diff --git a/_includes/all_figures.html b/_includes/all_figures.html new file mode 100644 index 0000000..c341a40 --- /dev/null +++ b/_includes/all_figures.html @@ -0,0 +1 @@ + diff --git a/_includes/carpentries.html b/_includes/carpentries.html index a0e0181..4d5c906 100644 --- a/_includes/carpentries.html +++ b/_includes/carpentries.html @@ -29,10 +29,10 @@
- Library Carpentry logo + Library Carpentry logo
- Library Carpentry is made by librarians to help librarians + Library Carpentry is made by librarians to help librarians automate repetitive, boring, error-prone tasks; create, maintain and analyse sustainable and reusable data; work effectively with IT and systems colleagues; diff --git a/_includes/dc/intro.html b/_includes/dc/intro.html new file mode 100644 index 0000000..741aeeb --- /dev/null +++ b/_includes/dc/intro.html @@ -0,0 +1,18 @@ +

+ Data Carpentry + aims to help researchers get their work done + in less time and with less pain + by teaching them basic research computing skills. + This hands-on workshop will cover basic concepts and tools, + including program design, version control, data management, + and task automation. + Participants will be encouraged to help one another + and to apply what they have learned to their own research problems. +

+

+ + For more information on what we teach and why, + please see our paper + "Best Practices for Scientific Computing". + +

diff --git a/_includes/dc/schedule.html b/_includes/dc/schedule.html new file mode 100644 index 0000000..6894a19 --- /dev/null +++ b/_includes/dc/schedule.html @@ -0,0 +1,24 @@ +
+
+

Day 1

+ + + + + + + +
09:00 Automating tasks with the Unix shell
10:30 Coffee
12:00 Lunch break
13:00 Building programs with Python
14:30 Coffee
16:00 Wrap-up
+
+
+

Day 2

+ + + + + + + +
09:00 Version control with Git
10:30 Coffee
12:00 Lunch break
13:00 Managing data with SQL
14:30 Coffee
16:00 Wrap-up
+
+
diff --git a/_includes/dc/syllabus.html b/_includes/dc/syllabus.html new file mode 100644 index 0000000..a325cee --- /dev/null +++ b/_includes/dc/syllabus.html @@ -0,0 +1,96 @@ +
+
+

The Unix Shell

+
    +
  • Files and directories
  • +
  • History and tab completion
  • +
  • Pipes and redirection
  • +
  • Looping over files
  • +
  • Creating and running shell scripts
  • +
  • Finding things
  • +
  • Reference...
  • +
+
+
+

Programming in Python

+
    +
  • Using libraries
  • +
  • Working with arrays
  • +
  • Reading and plotting data
  • +
  • Creating and using functions
  • +
  • Loops and conditionals
  • +
  • Defensive programming
  • +
  • Using Python from the command line
  • +
  • Reference...
  • +
+
+ + +
+ +
+
+

Version Control with Git

+
    +
  • Creating a repository
  • +
  • Recording changes to files: add, commit, ...
  • +
  • Viewing changes: status, diff, ...
  • +
  • Ignoring files
  • +
  • Working on the web: clone, pull, push, ...
  • +
  • Resolving conflicts
  • +
  • Open licenses
  • +
  • Where to host work, and why
  • +
  • Reference...
  • +
+
+ +
+

Open Refine

+
    +
  • Introduction to OpenRefine
  • +
  • Importing data
  • +
  • Basic functions
  • +
  • Advanced Functions
  • +
  • Reference...
  • +
+
+
diff --git a/_includes/dc/who.html b/_includes/dc/who.html new file mode 100644 index 0000000..2d8e94a --- /dev/null +++ b/_includes/dc/who.html @@ -0,0 +1,8 @@ +

+ Who: + The course is aimed at graduate students and other researchers. + + You don't need to have any previous knowledge of the tools + that will be presented at the workshop. + +

diff --git a/_includes/episode_navbar.html b/_includes/episode_navbar.html index 1f6e033..b9f85f6 100644 --- a/_includes/episode_navbar.html +++ b/_includes/episode_navbar.html @@ -14,7 +14,6 @@
{% if include.episode_navbar_title %}

{{ site.title }}

-

{{ page.title }}

{% endif %}
diff --git a/_includes/episode_title.html b/_includes/episode_title.html index 5b9c821..d0abc65 100644 --- a/_includes/episode_title.html +++ b/_includes/episode_title.html @@ -1,42 +1,9 @@ -{% comment %} - Find previous and next episodes (if any). -{% endcomment %} -{% for episode in site.episodes %} - {% if episode.url == page.url %} - {% unless forloop.first %} - {% assign prev_episode = prev %} - {% endunless %} - {% unless forloop.last %} - {% assign next_episode = site.episodes[forloop.index] %} - {% endunless %} - {% endif %} - {% assign prev = episode %} -{% endfor %} - -{% comment %} - Display title and prev/next links. -{% endcomment %}
-

- {% if prev_episode %} - - {% else %} - - {% endif %} -

-

{{ site.title }}

{{ page.title }}

-

- {% if next_episode %} - - {% else %} - - {% endif %} -

diff --git a/_includes/lc/intro.html b/_includes/lc/intro.html new file mode 100644 index 0000000..6794b54 --- /dev/null +++ b/_includes/lc/intro.html @@ -0,0 +1,19 @@ +

+ Library Carpentry + is made by librarians, for librarians to help you: +

+
    +
  • automate repetitive, boring, error-prone tasks
  • +
  • create, maintain and analyse sustainable and reusable data
  • +
  • work effectively with IT and systems colleagues
  • +
  • better understand the use of software in research
  • +
  • and much more...
  • +
+

+ + Library Carpentry introduces you to the fundamentals of computing + and provides you with a platform for further self-directed learning. + For more information on what we teach and why, please see our paper + "Library Carpentry: software skills training for library professionals". + +

diff --git a/_includes/lc/schedule.html b/_includes/lc/schedule.html new file mode 100644 index 0000000..cc2b592 --- /dev/null +++ b/_includes/lc/schedule.html @@ -0,0 +1,24 @@ +
+
+

Day 1

+ + + + + + + +
09:00 Data Intro for Librarians
10:30 Coffee
12:00 Lunch break
13:00 Shell Lessons for Libraries
14:30 Coffee
16:00 Wrap-up
+
+
+

Day 2

+ + + + + + + +
09:00 Git Intro for Librarians
10:30 Coffee
12:00 Lunch break
13:00 OpenRefine for Librarians
14:30 Coffee
16:00 Wrap-up
+
+
diff --git a/_includes/lc/syllabys.html b/_includes/lc/syllabys.html new file mode 100644 index 0000000..4dc2077 --- /dev/null +++ b/_includes/lc/syllabys.html @@ -0,0 +1,69 @@ +
+
+

Data Intro

+
    +
  • Intro to data
  • +
  • Jargon busting
  • +
  • Keyboard shortcuts
  • +
  • Plain text formats
  • +
  • Naming files
  • +
  • Regular expressions
  • +
  • Reference...
  • +
+
+
+

The Unix Shell

+
    +
  • Files and directories
  • +
  • History and tab completion
  • +
  • Counting and sorting contents in files
  • +
  • Pipes and redirection
  • +
  • Mining or searching in files
  • +
  • Reference...
  • +
+
+ +
+ +
+
+

Version Control with Git

+
    +
  • Creating a repository
  • +
  • Configuring git
  • +
  • Recording changes to files: add, commit, ...
  • +
  • Viewing state changes with status
  • +
  • Working on the web: clone, pull, push, ...
  • +
  • Where to host work, and why
  • +
  • Reference...
  • +
+
+
+
+

Open Refine

+
    +
  • Introduction to OpenRefine
  • +
  • Importing data
  • +
  • Basic functions
  • +
  • Advanced Functions
  • +
  • Reference...
  • +
+
+
+
+ diff --git a/_includes/lc/who.html b/_includes/lc/who.html new file mode 100644 index 0000000..fd9b38c --- /dev/null +++ b/_includes/lc/who.html @@ -0,0 +1,8 @@ +

+ Who: + The course is for librarians, archivists, and other information workers. + + You don't need to have any previous knowledge of the tools that + will be presented at the workshop. + +

diff --git a/_includes/links.md b/_includes/links.md new file mode 100644 index 0000000..a163786 --- /dev/null +++ b/_includes/links.md @@ -0,0 +1,35 @@ +[cc-by-human]: https://creativecommons.org/licenses/by/4.0/ +[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode +[concept-maps]: http://swcarpentry.github.io/instructor-training/08-memory/ +[contact]: mailto:lessons@software-carpentry.org +[contrib-covenant]: http://contributor-covenant.org/ +[contributing]: {{ site.github.repository_url }}/blob/gh-pages/CONTRIBUTING.md +[cran-checkpoint]: https://cran.r-project.org/web/packages/checkpoint/index.html +[cran-knitr]: https://cran.r-project.org/web/packages/knitr/index.html +[cran-stringr]: https://cran.r-project.org/web/packages/stringr/index.html +[github-importer]: https://import.github.com/ +[importer]: http://import.github.com/new +[jekyll-collection]: https://jekyllrb.com/docs/collections/ +[jekyll-install]: https://jekyllrb.com/docs/installation/ +[jekyll-windows]: http://jekyll-windows.juthilo.com/ +[jekyll]: https://jekyllrb.com/ +[jupyter]: https://jupyter.org/ +[mit-license]: http://opensource.org/licenses/mit-license.html +[morea]: https://morea-framework.github.io/ +[numfocus]: http://numfocus.org/ +[osi]: http://opensource.org +[pandoc]: https://pandoc.org/ +[paper-now]: https://github.com/PeerJ/paper-now +[python-gapminder]: https://swcarpentry.github.io/python-novice-gapminder/ +[pyyaml]: https://pypi.python.org/pypi/PyYAML +[r-markdown]: http://rmarkdown.rstudio.com/ +[rstudio]: https://www.rstudio.com/ +[ruby-install-guide]: https://www.ruby-lang.org/en/downloads/ +[ruby-installer]: http://rubyinstaller.org/ +[rubygems]: https://rubygems.org/pages/download/ +[styles]: https://github.com/swcarpentry/styles/ +[training]: http://swcarpentry.github.io/instructor-training/ +[workshop-repo]: {{ site.workshop_repo }} +[yaml]: http://yaml.org/ +[coc]: https://software-carpentry.org/conduct/ +[coc-reporting]: https://software-carpentry.org/CoC-reporting/ \ No newline at end of file diff --git a/_includes/navbar.html b/_includes/navbar.html index 6b21afc..7e2560d 100644 --- a/_includes/navbar.html +++ b/_includes/navbar.html @@ -12,19 +12,7 @@ {% comment %} Select what logo to display. {% endcomment %} - {% if page.carpentry == "swc" %} - - - - {% elsif page.carpentry == "dc" %} - - - - {% elsif page.carpentry == "lc" %} - - - - {% elsif site.carpentry == "swc" %} + {% if site.carpentry == "swc" %} @@ -34,7 +22,7 @@ {% elsif site.carpentry == "lc" %} - + {% endif %} @@ -57,6 +45,8 @@ {% for episode in site.episodes %}
  • {{ episode.title }}
  • {% endfor %} + +
  • All in one page (Beta)
  • {% endif %} diff --git a/_includes/sc/intro.html b/_includes/sc/intro.html new file mode 100644 index 0000000..7b9fbf5 --- /dev/null +++ b/_includes/sc/intro.html @@ -0,0 +1,18 @@ +

    + Software Carpentry + aims to help researchers get their work done + in less time and with less pain + by teaching them basic research computing skills. + This hands-on workshop will cover basic concepts and tools, + including program design, version control, data management, + and task automation. + Participants will be encouraged to help one another + and to apply what they have learned to their own research problems. +

    +

    + + For more information on what we teach and why, + please see our paper + "Best Practices for Scientific Computing". + +

    diff --git a/_includes/sc/schedule.html b/_includes/sc/schedule.html new file mode 100644 index 0000000..6894a19 --- /dev/null +++ b/_includes/sc/schedule.html @@ -0,0 +1,24 @@ +
    +
    +

    Day 1

    + + + + + + + +
    09:00 Automating tasks with the Unix shell
    10:30 Coffee
    12:00 Lunch break
    13:00 Building programs with Python
    14:30 Coffee
    16:00 Wrap-up
    +
    +
    +

    Day 2

    + + + + + + + +
    09:00 Version control with Git
    10:30 Coffee
    12:00 Lunch break
    13:00 Managing data with SQL
    14:30 Coffee
    16:00 Wrap-up
    +
    +
    diff --git a/_includes/sc/syllabus.html b/_includes/sc/syllabus.html new file mode 100644 index 0000000..a325cee --- /dev/null +++ b/_includes/sc/syllabus.html @@ -0,0 +1,96 @@ +
    +
    +

    The Unix Shell

    +
      +
    • Files and directories
    • +
    • History and tab completion
    • +
    • Pipes and redirection
    • +
    • Looping over files
    • +
    • Creating and running shell scripts
    • +
    • Finding things
    • +
    • Reference...
    • +
    +
    +
    +

    Programming in Python

    +
      +
    • Using libraries
    • +
    • Working with arrays
    • +
    • Reading and plotting data
    • +
    • Creating and using functions
    • +
    • Loops and conditionals
    • +
    • Defensive programming
    • +
    • Using Python from the command line
    • +
    • Reference...
    • +
    +
    + + +
    + +
    +
    +

    Version Control with Git

    +
      +
    • Creating a repository
    • +
    • Recording changes to files: add, commit, ...
    • +
    • Viewing changes: status, diff, ...
    • +
    • Ignoring files
    • +
    • Working on the web: clone, pull, push, ...
    • +
    • Resolving conflicts
    • +
    • Open licenses
    • +
    • Where to host work, and why
    • +
    • Reference...
    • +
    +
    + +
    +

    Open Refine

    +
      +
    • Introduction to OpenRefine
    • +
    • Importing data
    • +
    • Basic functions
    • +
    • Advanced Functions
    • +
    • Reference...
    • +
    +
    +
    diff --git a/_includes/sc/who.html b/_includes/sc/who.html new file mode 100644 index 0000000..2d8e94a --- /dev/null +++ b/_includes/sc/who.html @@ -0,0 +1,8 @@ +

    + Who: + The course is aimed at graduate students and other researchers. + + You don't need to have any previous knowledge of the tools + that will be presented at the workshop. + +

    diff --git a/_includes/workshop_footer.html b/_includes/workshop_footer.html index 3ae63e6..897e421 100644 --- a/_includes/workshop_footer.html +++ b/_includes/workshop_footer.html @@ -3,14 +3,22 @@ {% endcomment %} diff --git a/_layouts/break.html b/_layouts/break.html index 6e2a6a0..ac58232 100644 --- a/_layouts/break.html +++ b/_layouts/break.html @@ -2,6 +2,9 @@ layout: base --- {% include episode_navbar.html episode_navbar_title=true %} +
    +{% include episode_title.html %} {% include episode_break.html %} {{content}} +
    {% include episode_navbar.html episode_navbar_title=false %} diff --git a/_layouts/episode.html b/_layouts/episode.html index d774a68..0b276e7 100644 --- a/_layouts/episode.html +++ b/_layouts/episode.html @@ -2,7 +2,10 @@ layout: base --- {% include episode_navbar.html episode_navbar_title=true %} +
    +{% include episode_title.html %} {% include episode_overview.html %} {{content}} {% include episode_keypoints.html %} +
    {% include episode_navbar.html episode_navbar_title=false %} diff --git a/aio.md b/aio.md new file mode 100644 index 0000000..6d93852 --- /dev/null +++ b/aio.md @@ -0,0 +1,36 @@ +--- +layout: page +permalink: /aio/ +--- + +{% comment %} +Create anchor for each one of the episodes. +{% endcomment %} +{% for episode in site.episodes %} +
    +{% endfor %} diff --git a/assets/img/lc-icon-black.png b/assets/img/lc-icon-black.png new file mode 100644 index 0000000..e49c6d5 Binary files /dev/null and b/assets/img/lc-icon-black.png differ diff --git a/assets/img/lc-icon-black.svg b/assets/img/lc-icon-black.svg deleted file mode 100644 index df71189..0000000 --- a/assets/img/lc-icon-black.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/js/lesson.js b/assets/js/lesson.js index c51dca6..185da92 100644 --- a/assets/js/lesson.js +++ b/assets/js/lesson.js @@ -3,7 +3,7 @@ $("table").addClass("table table-striped"); // Handle foldable challenges and solutions (on click and at start). -$(".challenge,.discussion,.solution").click(function(event) { +$(".solution").click(function(event) { var trigger = $(event.target).has(".fold-unfold").size() > 0 || $(event.target).filter(".fold-unfold").size() > 0; if (trigger) { @@ -12,7 +12,7 @@ $(".challenge,.discussion,.solution").click(function(event) { event.stopPropagation(); } }); -$(".challenge,.discussion,.solution").each(function() { +$(".solution").each(function() { $(">*:not(h2)", this).toggle(); var h2 = $("h2:first", this); h2.append(""); diff --git a/bin/generate_md_episodes.R b/bin/generate_md_episodes.R index 6d8a2d7..f2a40ba 100644 --- a/bin/generate_md_episodes.R +++ b/bin/generate_md_episodes.R @@ -6,12 +6,12 @@ generate_md_episodes <- function() { if (!require("stringr")) stop("The package stringr is required for generating the lessons.") - if (require("checkpoint")) { + if (require("checkpoint") && packageVersion("checkpoint") >= '0.4.0') { required_pkgs <- - checkpoint:::projectScanPackages(project = "_episodes_rmd", - verbose=FALSE, use.knitr = TRUE)$pkgs + checkpoint:::scanForPackages(project = "_episodes_rmd", + verbose=FALSE, use.knitr = TRUE)$pkgs } else { - stop("The checkpoint package is required to build the lessons.") + stop("The checkpoint package (>= 0.4.0) is required to build the lessons.") } missing_pkgs <- required_pkgs[!(required_pkgs %in% rownames(installed.packages()))] @@ -22,7 +22,7 @@ generate_md_episodes <- function() { install.packages(missing_pkgs) } - ## find all the Rmd files, and generates the paths for their respective outputs + ## find all the Rmd files, and generate the paths for their respective outputs src_rmd <- list.files(pattern = "??-*.Rmd$", path = "_episodes_rmd", full.names = TRUE) dest_md <- file.path("_episodes", gsub("Rmd$", "md", basename(src_rmd))) diff --git a/bin/lesson_initialize.py b/bin/lesson_initialize.py index 540bb08..fc7baf7 100755 --- a/bin/lesson_initialize.py +++ b/bin/lesson_initialize.py @@ -278,6 +278,45 @@ FIXME ''' +ROOT_AIO_MD = '''\ +--- +layout: page +permalink: /aio/ +--- + +{% comment %} +Create anchor for each one of the episodes. +{% endcomment %} +{% for episode in site.episodes %} +
    +{% endfor %} +''' + EPISODES_INTRODUCTION_MD = '''\ --- title: "Introduction" @@ -340,6 +379,7 @@ ('index.md', ROOT_INDEX_MD), ('reference.md', ROOT_REFERENCE_MD), ('setup.md', ROOT_SETUP_MD), + ('aio.md', ROOT_AIO_MD), ('_episodes/01-introduction.md', EPISODES_INTRODUCTION_MD), ('_extras/about.md', EXTRAS_ABOUT_MD), ('_extras/discuss.md', EXTRAS_DISCUSS_MD), diff --git a/bin/workshop_check.py b/bin/workshop_check.py index d3051bf..39ee0bf 100755 --- a/bin/workshop_check.py +++ b/bin/workshop_check.py @@ -227,12 +227,12 @@ def check_eventbrite(eventbrite): @look_for_fixme -def check_etherpad(etherpad): +def check_collaborative_notes(collaborative_notes): """ - 'etherpad' must be a valid URL. + 'collaborative_notes' must be a valid URL. """ - return bool(re.match(URL_PATTERN, etherpad)) + return bool(re.match(URL_PATTERN, collaborative_notes)) @look_for_fixme @@ -292,7 +292,7 @@ def check_pass(value): 'eventbrite': (False, check_eventbrite, 'Eventbrite key appears invalid'), - 'etherpad': (False, check_etherpad, 'Etherpad URL appears invalid'), + 'collaborative_notes': (False, check_collaborative_notes, 'Collaborative Notes URL appears invalid'), 'venue': (False, check_pass, 'venue name not specified'), diff --git a/index.md b/index.md new file mode 100644 index 0000000..e2fcde3 --- /dev/null +++ b/index.md @@ -0,0 +1,10 @@ +--- +layout: lesson +root: . +--- +FIXME: home page introduction + +> ## Prerequisites +> +> FIXME +{: .prereq} diff --git a/reference.md b/reference.md new file mode 100644 index 0000000..87a20cc --- /dev/null +++ b/reference.md @@ -0,0 +1,8 @@ +--- +layout: reference +permalink: /reference/ +--- + +## Glossary + +FIXME diff --git a/setup.md b/setup.md new file mode 100644 index 0000000..2dc2e46 --- /dev/null +++ b/setup.md @@ -0,0 +1,6 @@ +--- +layout: page +title: Setup +permalink: /setup/ +--- +FIXME