Skip to content

Commit 2d0779b

Browse files
committed
add a contributing section
1 parent d8f4592 commit 2d0779b

File tree

6 files changed

+248
-202
lines changed

6 files changed

+248
-202
lines changed

docs/source/contributing.rst

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Contributing
2+
============
3+
4+
.. note::
5+
6+
The
7+
`Code of Conduct <https://github.com/idom-team/idom/blob/main/CODE_OF_CONDUCT.md>`__
8+
applies in all community spaces. If you are not familiar with our Code of Conduct
9+
policy, take a minute to read the policy before starting with your first contribution.
10+
11+
The IDOM team welcomes contributions and contributors of all kinds - whether they come
12+
as code changes, participation in the discussions, opening issues and pointing out bugs,
13+
or simply sharing your work with your colleagues and friends. We're excited to see how
14+
you can help move this project and community forward!
15+
16+
.. list-table::
17+
:header-rows: 1
18+
19+
* - I'm Looking For...
20+
- Description
21+
22+
* - `A discussion board <https://github.com/idom-team/idom/discussions>`__
23+
- Ask questions, share ideas, or show projects
24+
25+
* - `Where to report issues <https://github.com/idom-team/idom/issues>`__
26+
- Tell us about any problems you're having
27+
28+
* - `How to contribute Code <https://github.com/idom-team/idom/pulls>`__
29+
- Make and review code changes
30+
31+
* - `Other related projects <https://github.com/idom-team>`__
32+
- Find other projects created by the IDOM team
33+
34+
35+
Everyone Can Contribute!
36+
------------------------
37+
38+
Trust us, there's so many ways to help. We're always looking for people who can:
39+
40+
- Improve our documentation
41+
- Teach and tell others about IDOM
42+
- Share ideas for new features
43+
- Report bugs
44+
- Participate in general discussions
45+
46+
Still aren't sure how you can help? Just
47+
`ask us <https://github.com/idom-team/idom/discussions>`__ and we'll help you make your
48+
first contribution.
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
Developer Installation
2+
======================
3+
4+
In order to work with IDOM's source code you'll need to install:
5+
6+
- git_
7+
8+
- npm_
9+
10+
You'll begin by copying the source from GitHub onto your computer using Git:
11+
12+
.. code-block:: bash
13+
14+
git clone https://github.com/rmorshea/idom.git
15+
cd idom
16+
17+
At this point you should be able to run the command below to:
18+
19+
- Install an editable version of the Python code
20+
21+
- Download, build, and install Javascript dependencies
22+
23+
- Install some pre-commit hooks for Git
24+
25+
.. code-block:: bash
26+
27+
pip install -e . -r requirements.txt && pre-commit install
28+
29+
Since we're using native ES modules for our Javascript, you should usually be able to
30+
refresh your browser page to see your latest changes to the client. However if you
31+
modify any dependencies you can run standard ``npm`` commands to install them or
32+
simply run the following to re-evaluate the ``package.json``:
33+
34+
.. code-block:: bash
35+
36+
pip install -e .
37+
38+
39+
Running The Tests
40+
-----------------
41+
42+
The test suite for IDOM is executed using Nox_ and covers:
43+
44+
1. Server-side Python code with PyTest_
45+
46+
2. The end-to-end application using Selenium_
47+
48+
3. (`Coming soon <https://github.com/idom-team/idom/issues/195>`_) Client side Javascript code
49+
50+
To run the full suite of tests you'll need to install:
51+
52+
- `Google Chrome`_
53+
54+
- ChromeDriver_.
55+
56+
.. warning::
57+
58+
Be sure the version of `Google Chrome`_ and ChromeDriver_ you install are compatible.
59+
60+
Once you've installed the aforementined browser and web driver you should be able to
61+
run:
62+
63+
.. code-block:: bash
64+
65+
nox
66+
67+
If you prefer to run the tests using a headless browser:
68+
69+
.. code-block:: bash
70+
71+
HEADLESS=1 nox
72+
73+
74+
Building The Documentation
75+
--------------------------
76+
77+
Building the documentation as it's deployed in production requires Docker_. Once you've
78+
installed ``docker`` you'll need to build and then run a container with the service:
79+
80+
.. code-block:: bash
81+
82+
docker build . --file docs/Dockerfile --tag idom-docs:latest
83+
docker run -it -p 5000:5000 -e DEBUG=true --rm idom-docs:latest
84+
85+
You should then navigate to http://127.0.0.1:5000 to see the documentation.
86+
87+
88+
.. Links
89+
.. =====
90+
91+
.. _Google Chrome: https://www.google.com/chrome/
92+
.. _ChromeDriver: https://chromedriver.chromium.org/downloads
93+
.. _Docker: https://docs.docker.com/get-docker/
94+
.. _git: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
95+
.. _Git Bash: https://gitforwindows.org/
96+
.. _npm: https://www.npmjs.com/get-npm
97+
.. _PyPI: https://pypi.org/project/idom
98+
.. _pip: https://pypi.org/project/pip/
99+
.. _PyTest: pytest <https://docs.pytest.org
100+
.. _Selenium: https://www.seleniumhq.org/
101+
.. _Nox: https://nox.thea.codes/en/stable/#

docs/source/extra-features.rst

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

docs/source/index.rst

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,32 @@ Libraries for defining and controlling interactive webpages with Python
66

77
.. toctree::
88
:hidden:
9-
:caption: User Guide
109

1110
installation
1211
getting-started
1312
life-cycle-hooks
1413
core-concepts
1514
javascript-components
16-
specifications
17-
extra-features
15+
1816
examples
1917

2018
.. toctree::
2119
:hidden:
22-
:caption: Reference
20+
:caption: Developer Guide
2321

24-
GitHub Repo <https://github.com/idom-team/idom>
22+
contributing
23+
developer-installation
24+
specifications
2525
package-api
2626

27+
.. toctree::
28+
:hidden:
29+
:caption: External Resources
2730

28-
Early Days
29-
----------
30-
31-
IDOM is still young. If you need help or want to contribute:
31+
Source Code <https://github.com/idom-team/idom>
32+
Community <https://github.com/idom-team/idom/discussions>
33+
Issues <https://github.com/idom-team/idom/issues>
3234

33-
- Ask `questions <https://github.com/idom-team/idom/discussions>`__
34-
- Report `issues <https://github.com/rmorshea/idom/issues>`__
35-
- Creating a `pull request <https://github.com/rmorshea/idom/pulls>`__
3635

3736

3837
At a Glance
@@ -46,8 +45,3 @@ user clicks an image:
4645
Try selecting the "Live Example" tab in the view above and enabling the widget.
4746

4847
Once activated try clicking the displayed image to make it change 🖱️
49-
50-
.. note::
51-
52-
You can display the same thing in a Jupyter Notebook by installing
53-
`idom-jupyter <https://github.com/idom-team/idom-jupyter>`__.

0 commit comments

Comments
 (0)