Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.

Commit bc803e0

Browse files
committed
merge
2 parents 5db2c96 + a30b1c0 commit bc803e0

130 files changed

Lines changed: 12757 additions & 4179 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CONTRIBUTING.rst

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,26 @@ Contributing to the Runestone Components
33

44
We welcome contributions large and small to the Runestone Components. We welcome contributions from newcomers as well as seasoned Runestone hackers. You don't need to be an expert to make a contribution here. When I started this project I had barely written a line of Javascript, Runestone is a project that is all about helping people learn, if you learn by helping us improve Runestone that is even better!
55

6-
Understand the RoadMap
7-
----------------------
6+
Understand the Road map
7+
-----------------------
88

9-
You should look at the `development road map <https://github.com/bnmnetp/runestone/wiki/DevelopmentRoadmap>`_
10-
and especially RSE-0001 which gives you a clear idea of the current philosophy behind the components. Any
9+
You should look at the `development road map <https://github.com/bnmnetp/runestone/wiki/DevelopmentRoadmap2019>`_
10+
and especially `RSE-0001 <https://github.com/RunestoneInteractive/RunestoneServer/wiki/RSE-0001>`_ which gives you a clear idea of the current philosophy behind the components. Any
1111
Sphinx directives should create very simple html and let Javascript take care of the rest.
1212

1313
Coding Standards
1414
----------------
1515

1616
* All components must be Python 3 compatible. The ``six`` module is already
1717
in the requirements.txt file, so feel free to use that.
18-
* No Tabs for Python files (4 spaces = 1 indention)
19-
* Avoid profliferation of jQuery versions. Make your stuff compatible with the version
18+
* No Tabs for Python files (4 spaces = 1 indentation)
19+
* Avoid proliferation of jQuery versions. Make your stuff compatible with the version
2020
of jQuery in the common folder.
2121
* Avoid proliferation of additional third party javascript modules. We are already out of
2222
control in this regard and it would be nice to rein it in.
23+
* To add JavaScript for a new component, follow the directions in `webpack.index.js` for dynamically-loaded components.
2324
* When creating a new directive, assign a unique class name to the outermost HTML division. That will allow you to easily confine your CSS declarations to apply only within your directive. Since there are many directives, chances for CSS namespace conflicts are high without that.
24-
* When making a new directive Also put the outer div in the runestone class, this makes it easy for us to select all runestone components on a page.
25+
* When making a new directive, also put the outer div in the runestone class. This makes it easy for us to select all runestone components on a page.
2526
* When making any changes, make sure the docstring for the class that implements the Sphinx directive is up to date. These docstrings are used in several places for templates and quick help.
2627
* Make sure your new directive class inherits and uses RunestoneBase
2728
* Avoid writing a directive that returns a raw node. Creating appropriate nodes that inherit from Runestone gives us much more flexibility to auto number and cross reference and store source in the database.
@@ -46,17 +47,17 @@ multiple instances of your component on a single web page.
4647
Internationalization
4748
--------------------
4849

49-
It is recomended to implement internationalization as described in `I18N` even if you plan to support only English currently. Besides making easy to support other languages in the future, internationalization helps you to better separate natural language text fragments from the rest of your code.
50+
It is recommended to implement internationalization as described in `I18N` even if you plan to support only English currently. Besides making easy to support other languages in the future, internationalization helps you to better separate natural language text fragments from the rest of your code.
5051

5152

5253
Major Feature Contributions
5354
===========================
5455

55-
There are many ways that we can continue to improve and make the Runestone platform great, and I am exctied to see the platform evolve. What I would ask is that if you have a large new feature that you would like to propose / contribute please start by creating an issue. This will allow us to discuss it together up front, consider the design implications, and make it more likely that the PR will be accepted with a minimum of fuss.
56+
There are many ways that we can continue to improve and make the Runestone platform great, and I am exited to see the platform evolve. What I would ask is that if you have a large new feature that you would like to propose / contribute please start by creating an issue. This will allow us to discuss it together up front, consider the design implications, and make it more likely that the PR will be accepted with a minimum of fuss.
5657

57-
Runestone has grown organically over the years but that has led to duplicated tables in the database duplicated code and lots of inconsistency. We need to start working to change all of that if we are going to continue to grow runestone efficiently.
58+
Runestone has grown organically over the years but that has led to duplicated tables in the database duplicated code and lots of inconsistency. We need to start working to change all of that if we are going to continue to grow Runestone efficiently.
5859

5960

6061
JavaScript
6162
----------
62-
All the JavaScript files in the Runestone Components are analzyed by webpack. If you add or remove JavaScript files, update the `webpack.index.js`.
63+
All the JavaScript files in the Runestone Components are analyzed by webpack. If you add or remove JavaScript files, update the `webpack.index.js`.

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ Our goal is to have unit tests which rely on Selenium (a library that helps simu
162162

163163
**To run tests:**
164164

165-
* Make sure the directory containing the PhantomJS executable is in your ``PATH`` environment variable. e.g. ``PATH=$PATH:path/to/virtualenv/directory/where/it/is/here`` at your command line (or edit your ``.bash_profile``). It should live in the site-packages/selenium/webdriver/ directory of your virtualenv.
165+
* Make sure the directory containing the ChromeDriver executable is in your ``PATH`` environment variable. e.g. ``PATH=$PATH:path/to/chromedriver`` at your command line (or edit your ``.bash_profile``).
166166

167167
* Check out the existing tests, e.g. the ``test_question.py`` file that tests the Question directive, which you can find at the path ``/runestone/question/test/test_question.py``, for an example.
168168

codechat_config.json

Lines changed: 0 additions & 23 deletions
This file was deleted.

codechat_config.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# .. Copyright (C) 2012-2020 Bryan A. Jones.
2+
#
3+
# This file is part of the CodeChat System.
4+
#
5+
# The CodeChat System is free software: you can redistribute it and/or
6+
# modify it under the terms of the GNU General Public License as
7+
# published by the Free Software Foundation, either version 3 of the
8+
# License, or (at your option) any later version.
9+
#
10+
# The CodeChat System is distributed in the hope that it will be
11+
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12+
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
# General Public License for more details.
14+
#
15+
# You should have received a copy of the GNU General Public License
16+
# along with the CodeChat System. If not, see
17+
# <http://www.gnu.org/licenses/>.
18+
#
19+
# ************************************************
20+
# |docname| - Configuration for a CodeChat project
21+
# ************************************************
22+
# This file defines the configuration for a CodeChat project. It contains a working `Sphinx <https://www.sphinx-doc.org/>`_ configuration.
23+
#
24+
# ``source_path``: optional; defaults to ``.`` (the current directory). A path to the root of the source tree. Relative paths are rooted in the directory containing this configuration file.
25+
source_path: .
26+
27+
# ``output_path``: required. A path to the root of the HTML output produced by this renderer. Relative paths are rooted in the directory containing this configuration file.
28+
output_path: build/RunestoneComponents
29+
30+
# ``args``: required string or sequence of strings. This provides the arguments to invoke the renderer. These strings may optionally contain the following replacement values:
31+
#
32+
# - ``{project_path}``: an absolute path to the directory containing this file.
33+
# - ``{source_path}``: the ``source_path`` above, but as an absolute path.
34+
# - ``{output_path}``: the ``output_path`` above, but as an absolute path.
35+
#
36+
args: runestone build
37+
38+
# ``html_ext``: optional; defaults to ``.html``. The extension used by this renderer when generating HTML files.
39+
#html_ext: .html

conf.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
3333
extensions = [
3434
"sphinx.ext.mathjax",
35-
"recommonmark",
35+
"myst_parser",
3636
"sphinx.ext.intersphinx",
3737
] + runestone_extensions()
3838

@@ -319,6 +319,12 @@
319319
# This is the file name suffix for HTML files (e.g. ".xhtml").
320320
# html_file_suffix = None
321321

322+
# It True, sets js files from Sphinx & Runestone to be loaded with defer attr
323+
# substantially speeding up page rendering. May cause issues with books that
324+
# have custom directives or raw html that assume jquery or another library
325+
# is loaded before body is parsed.
326+
html_defer_js = True
327+
322328
# Output file base name for HTML help builder.
323329
htmlhelp_basename = "PythonCoursewareProjectdoc"
324330

index.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,9 @@ Misc
4646
ACKNOWLEDGEMENTS
4747
.github/FUNDING.yml
4848
.gitignore
49-
.travis.yml
5049
.readthedocs.yml
5150
conf.py
52-
codechat_config.json
51+
codechat_config.yaml
5352
requirements-dev.in
5453
requirements.in
5554
webpack.config.js

0 commit comments

Comments
 (0)