Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move setup instructions to a separate page #408

Closed
tracykteal opened this issue May 30, 2017 · 6 comments
Closed

Move setup instructions to a separate page #408

tracykteal opened this issue May 30, 2017 · 6 comments

Comments

@tracykteal
Copy link
Contributor

For us to use this for a Data Carpentry workshop template, I'd want to have the setup instructions on a separate page, with a link to the Setup instructions at the bottom of the page. I've heard that it's both intimidating and overwhelming to people who are coming to this intro landing page to have all that information.

You can see that generally implemented here
http://www.datacarpentry.org/workshop-template/

I'll put in a PR in this repo that would do this, and we can discuss if we want to make that switch.

@tracykteal
Copy link
Contributor Author

tracykteal commented May 31, 2017

Before I get too far down this path, this is the idea for moving the setup instructions to a different file than index.html and also creating a modular system, so you can 'includes' the topics you're teaching from just listing them in a YAML header

https://github.com/tracykteal/workshop-template

Index: https://tracykteal.github.io/workshop-template/

Setup page: https://tracykteal.github.io/workshop-template/setup/

In _extras/setup.md an instructor would list in the YAML the topics they're teaching and then it would 'includes' the setup instructions for those tools, pulling that information in from e.g. _includes/setup/python.html and _includes/setup/shell.html

I think this would make it easier to maintain up-to-date instructions and easier for the instructors too. A downside is that instructors would have to update another file than just index.html, but I think if we add the info, they can figure it out, and editing YAML is easier than the blocks of HTML as it is now.

@rgaiacs @k8hertweck @naupaka @wking thoughts?

@naupaka
Copy link
Member

naupaka commented May 31, 2017

Sounds like a good general plan to me. I am not sure of all of the intricacies of the Jekyll-fu y'all are using to make this hang together - but would it be possible to have said setup.md at the root of the repo instead of in the _extras/ folder? Or even call it something like index-setup.md.

I'm just thinking in terms of discoverability - it can be hard to know which subfolder to dig into to modify when setting up a new workshop site. The advantage of just hacking on index.html is that people can come in and figure that out on their own even without too much in the way of instruction.

@tracykteal
Copy link
Contributor Author

It could be in the main root rather than _extras. It just wouldn't appear in that drop-down 'extras' menu/tab at the top of the page. I'm not sure how important it is to have it appear there though, as I don't really know how people are using the page and if they're looking there.

I agree that it's nice if all the changes are in index.html, but I think the 'edit just the YAML in a different file' might be an OK tradeoff versus people having to edit those HTML chunks. It does in the current directions say "This is the other place where people frequently make mistakes". We can set it so the default set of instructions is for the most commonly taught software - I think shell, Python and github, so fewer people have to edit this at all.

There are other ways to set universal parameters that could affect all pages, by putting things in _data, but I don't think we want to make that significant of a change.

@rgaiacs
Copy link
Contributor

rgaiacs commented May 31, 2017

For us to use this for a Data Carpentry workshop template, I'd want to have the setup instructions on a separate page, with a link to the Setup instructions at the bottom of the page.

No problem for me.

I'll put in a PR in this repo that would do this.

Thanks for the pull request.

In _extras/setup.md an instructor would list in the YAML the topics they're teaching and then it would 'includes' the setup instructions for those tools, pulling that information in from e.g. _includes/setup/python.html and _includes/setup/shell.html

I think this would make it easier to maintain up-to-date instructions and easier for the instructors too. A downside is that instructors would have to update another file than just index.html, but I think if we add the info, they can figure it out, and editing YAML is easier than the blocks of HTML as it is now.

I'm against the use of YAML header. We had this conversation in the past and the YAML header (1) makes harder for novices to add their own instructions since they need to learn "advanced" Jekyll and (2) make harder to maintain the file due the nest for/if clauses.

If we are moving to have a separate setup file I will suggest to use

{% comment %} Remove this line if you are not teaching Python {% endcomment %}  {% include setup/python.html %}
{% comment %} Remove this line if you are not teaching R {% endcomment %}  {% include setup/R.html %}
{% comment %} Remove this line if you are not teaching shell {% endcomment %}  {% include setup/shell.html %}

instead of

{% if page.software contains "Python" %}
   {% include setup/python.html %}
{% endif %}

{% if page.software contains "R" %}
  {% include setup/R.html %}
{% endif %}

{% if page.software contains "shell" %}
  {% include setup/shell.html %}
{% endif %}

If the instructor forget to remove some of the lines the only side effect is that some students will install all more tools they will need on the workshop which in my opinion is better than a student that will show up with one or more tools missing.

Sounds like a good general plan to me. I am not sure of all of the intricacies of the Jekyll-fu y'all are using to make this hang together - but would it be possible to have said setup.md at the root of the repo instead of in the _extras/ folder? Or even call it something like index-setup.md.

We probably can solve this with some HTTP redirect hack. For example, have the content in setup.md and

<meta http-equiv="Refresh" content="0; url=/setup/" />

in _extras/setup.md to redirect the user to the content.

@danmichaelo
Copy link
Contributor

Should we try moving forward with this? I just created #535, but it seems to be more or less the same idea as discussed here, so I'm closing that issue in favour of this.

I generally agree with the latest proposal by @rgaiacs.

@fmichonneau
Copy link
Contributor

the installation instructions have been revamped.

fmichonneau added a commit to fmichonneau/workshop-template that referenced this issue Dec 18, 2019
fmichonneau added a commit that referenced this issue Dec 18, 2019
* links.md: lesson-specific links

* .travis.yml: use Python 3.7

Signed-off-by: Maxim Belkin <maxim.belkin@gmail.com>

* links.md: sync with downstream (lesson-example)

* lesson_check.py: require _config.yml too

* knit_lessons.sh: require 2 inputs exactly

* update link for coc reporting

* Clarify wording of PR & issue templates

I see lots of contributions where none of this placeholder text has
been deleted, but also quite a lot where the first line has been deleted,
but the 'ext below' hasn't (exactly in accordance with the current
instructions).

* lesson_check.py: remove _config.yml from the list of required files

Pull Request: carpentries/styles#388

* Colorize all boxes

Use the same colors but apply 12.5% opacity.

Solution boxes use 30% opacity

* Improve contrast of code elements

* Prefix code blocks with language names

Also, improve contrast of comments

Signed-off-by: Maxim Belkin <maxim.belkin@gmail.com>

* Fix contrast of links in challenge blocks

* reference to the webpage of the lesson + goodfirst

This contribution adds reference to the web page of the lesson in the Carpentries and makes it easier for visitors who want to contribute to get familiar with the good first issue badge.
This adds a list of current maintainers to the README.md.

* gold colour to badge

gold looks more like the yellow from the original badge

* add 'FIXME' so they will be picked up by checks

* use xenial on travis

* bin/lesson_check.py: avoid inconsistent grammar

Pull Request: carpentries/styles#396

* util.py: hot fix for YAML loader

* add data-checker-ignore attributes to links that only work on GitHub

* add data-checker-ignore attributes to footer links

* make title show episode title first

* use ndash as separator

display it only if both `page.title` and `site.title` are defined.

* upgrade to bootstrap 3.4.1

* update coc incident reporting link

* Update PULL_REQUEST_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* links.md: fix lesson-setup link

* links.md: include base_path.html

* aio.md: multiple improvements

Pull Request: carpentries/styles#406

* change all-in-one file to have the same 'depth' as episode files

* move the core script of aio.md into _includes/aio-script.md

* include comment to inform maintainers to not edit the file

* move aio.md to the root of styles repository

* [fix #408] remove aio from files that need to be initialized

* lesson-check: exclude aio.md, fix read_references

* bump jekyll version to match github pages version

https://pages.github.com/versions/

* Callout (and other) blocks: proper font size, margins

* Use darker purple for code blocks

* Use 1px borders: fix Google Chrome & Edge

See swcarpentry/git-novice#662 (comment)

* specify language based on engine

- fix swcarpentry/r-novice-inflammation#436

* Ignore Jekyll 4's cache

See https://jekyllrb.com/news/2019/08/20/jekyll-4-0-0-released/#cache-all-the-things- & https://github.com/jekyll/jekyll/releases/tag/v4.0.0

It appears during `make site` & `make serve`.

* assets/css/lesson.scss: add proper padding to the top of paragraphs in blockquotes (#425)

* restore lost CSS settings

* Manual ordering of episodes and extras

Co-authored-by: stamper <tbyhdgs@gmail.com>

* [fix #513] remove site.title outside

lessons

* update survey links

* Switch to Liquid comments

HTML comments end up in the generated HTML pages: they're not displayed by the browsers but they're still present there. Liquid comments do not end up in the generated HTML pages

* bin/boilerplate/README.md: fix typo

carpentries/styles#441

* Use Jekyll to generate the 'all-in-one' page (carpentries/styles#438)

* manual_episode_order.html: fix typo in a comment

* Enable 'Sponsor' button on GitHub repos

* remove Jekyll command markers from comment block

fix carpentries/lesson-example#281

* Forced re-encoding of text to UTF-8, to avoid issues on Windows

* Refactored paths to make use of OS agnostic methods

* Modified shebang to use python, not python3.

* Reverted change of permissiveness on lesson_check

* Cleaned leftover debug code and old implementations.

* Added PYTHON variable to define executable to run python scripts

* Reverted variable names

* Removed shebang lines from Python scripts to avoid cross-OS problems

* Fixes encoding problem on Windows systems, with minimal changes to existing code.

* Silenced output of PYTHON calls

* Makefile: detect Python 3

* util.py: remove empty line

* Undo optimizations to read_all_markdown

These will be submitted in a separate PR

* Remove executable bits from Python scripts

We can't use a single shebang:
* on some platforms `python` may mean Python 2, on others - Python 3
* on some platforms `python3` does not exist at all

Therefore, we're removing the shebangs altogether.

* lesson_initialize: windows compatibility

* lesson_check.py: Windows-compatible regular expression pattern

* repo_check.py: enforce utf-8 encoding

... for compatibility with Windows

* clarify comment on python check block

* Makefile: Windows does not like single quotes

* test_lesson_check.py: skip unnecessary steps

* Makefile: suppress error message on Windows

* fix typo in lesson_initialize.py

* Makefile: suppress another error message on Windows

These '2>/dev/null' are important on Windows because without them
a mere `make` stalls.

* Makefile: handle MS Store's Python 3

* Makefile: fix syntax in conditional

* Makefile: fix two more syntax errors in conditionals

* fix urls in _config.yml

* use bundler to render lessons

* install gems locally

* refactor use of docker

Co-authored-by: Allen Lee <allen.lee@asu.edu>

* add @maxim-belkin suggestions

* add .bundle to .gitignore

* Makefile: Specify shell. Don't include commands.mk

* Makefile: use Python to execute repo_check.py

* Makefile: improve commands target and commands categories (#450)

* Makefile: improve commands target and commands categories

* replace 'files' with 'website'

* Update R install in .travis.yml (#430)

* Update R install in .travis.yml

See https://cran.r-project.org/bin/linux/ubuntu/README.html

* update .travis.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants