You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+22-3Lines changed: 22 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,22 @@
2
2
3
3
Looking to contribute something to [json-fortran](README.md)? **Here's how you can help.**
4
4
5
+
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
6
+
**Table of Contents**
7
+
8
+
-[Key Branches](#key-branches)
9
+
-[Filing issues](#filing-issues)
10
+
-[Outstanding Work](#outstanding-work)
11
+
-[Pull Requests](#pull-requests)
12
+
-[Coding Standards](#coding-standards)
13
+
14
+
<!-- markdown-toc end -->
15
+
5
16
## Key Branches
6
17
7
18
-`master` is the latest, development version and all efforts should be made to keep it stable.
8
19
20
+
[top](#contributing-to-json-fortran)
9
21
## Filing issues
10
22
11
23
- Before filing a new [issue](https://github.com/jacobwilliams/json-fortran/issues), please perform a search to see if that issue has already been filed by someone else, and whether or not a solution exists. If you are experiencing the same issue as one that's already posted, please leave any additional comments and information under the existing issue. If your issue is related to a previous issue, but substantively different, file a new issue and include a mention of the related issue in text, using GitHub's `#<issue-number>` syntax.
@@ -16,28 +28,33 @@ Looking to contribute something to [json-fortran](README.md)? **Here's how you c
16
28
1. If applicable, what compiler you used, and any non-standard options or configurations that were used.
17
29
1. All steps required to reproduce the problem
18
30
31
+
[top](#contributing-to-json-fortran)
19
32
## Outstanding Work
20
33
21
34
- Take a look at the [issues](https://github.com/jacobwilliams/json-fortran/issues) to see if there is an issue you'd like to help address. [Issues](https://github.com/jacobwilliams/json-fortran/issues) with the [ready label](https://github.com/jacobwilliams/json-fortran/issues?q=is%3Aopen+is%3Aissue+label%3A%22ready%22) or in the [ready column on waffle.io](https://waffle.io/jacobwilliams/json-fortran) are issues that are ready to be dealt with. (i.e., They are not blocked by other dependencies and are higher priority.)
22
35
36
+
[top](#contributing-to-json-fortran)
23
37
## Pull Requests
24
38
25
39
- Try not to pollute your pull request with unintended changes--keep them simple and small
26
40
- Pull requests should address one issue at a time, and each commit should be a set of self contained, related changes. If you forget something in a commit, please use `git rebase -i <ref>^` to amend and/or squash erroneous commits. Here `<ref>` is the reference to to oldest commit needing to be modified (SHA, or `HEAD~4`, etc.)
27
41
- Each commit should compile, and ideally pass the tests. Very complicated new features or fixes, may have commits that don't pass tests, if otherwise the commit history would include far to many changes in any given commit. Use an interactive rebase to fix any of these issues, as described above.
28
-
- Pull requests should always be based on the upstream master, jacobwilliams/json-fortran:master. Please `rebase` your branch on top of the latest upstream master. Assuming you've added the upstream remote by running something like:
42
+
- Pull requests should always be based on the upstream master,
43
+
jacobwilliams/json-fortran:master. Please `rebase` your branch on top
44
+
of the latest upstream master. Assuming you are on your branch and you've added the upstream remote by running something like:
- Create a branch in your fork with a descriptive name that also includes the [issue number](https://github.com/jacobwilliams/json-fortran/issues), if applicable. For example, after forking the repo, you can run something like `git checkout -b Unicode-support-issue-35` before starting work on [issue #35 : Unicode support](https://github.com/jacobwilliams/json-fortran/issues/35)
37
53
- When you're content with your changes, your commits are clean, self contained, with concise descriptive messages, and your changes compile and pass the tests, submit a pull request. We will review your changes, and may ask for certain modifications to be made.
38
54
- Pull requests are tested by our [travis-ci](https://travis-ci.org/jacobwilliams/json-fortran) continuous integration system, and any errors uncovered will need to be fixed before the pull request can be merged into master.
39
55
- The json-fortran library and associated documentation is released under a BSD style [license](https://github.com/jacobwilliams/json-fortran/blob/master/LICENSE). By submitting a pull request, you are agreeing to release your code under the same license. Note that code with GPL or other "copyleft" style licenses will not be accepted.
40
56
57
+
[top](#contributing-to-json-fortran)
41
58
## Coding Standards
42
59
43
60
- Each commit should address a single logical change and code base transformation.
@@ -48,4 +65,6 @@ git rebase upstream
48
65
-*Do NOT* allow your editor to make a bunch of indentation or white space changes, that will introduce non-substantive changes on lines that you have not actually edited.
49
66
- The coding style is modern free-form Fortran, consistent with the Fortran 2008 standard. Note that the two supported compilers (ifort and gfortran) do not currently include the entire Fortran 2008 standard. Therefore, only those language features supported by Gfortran 4.9 and Intel 13.1.0 are currently allowed. This also means that previous versions of these compilers are not supported, and major changes to the code to support earlier compilers (or Fortran 95) will not be accepted. At some point in the future (when compiler support has improved), all Fortran 2008 features will be allowed.
50
67
- All subroutines and functions *must* be properly documented. This includes useful inline comments as well as comment blocks using the [ROBODoc](http://rfsber.home.xs4all.nl/Robo/manual.html) syntax.
51
-
- For simplicity, json-fortran currently consists of one module file. It is not envisioned that it will ever need to expand to include multiple files (if it does, there would need to be a very good reason).
68
+
- For simplicity, json-fortran currently consists of one module file. It is not envisioned that it will ever need to expand to include multiple files (if it does, there would need to be a very good reason).
-[Reading JSON from a file](#reading-json-from-a-file)
15
-
-[Reading JSON from a string](#reading-json-from-a-string)
16
-
-[Modifying variables in a JSON file](#modifying-variables-in-a-json-file)
17
-
-[Writing a JSON file](#writing-a-json-file)
18
-
-[Building a JSON file from scratch](#building-a-json-file-from-scratch)
19
-
-[Documentation](#documentation)
20
-
-[Contributing [](CONTRIBUTING.md)](#contributing-ready-in-backloghttpsbadgewaffleiojacobwilliamsjson-fortranpnglabelreadytitlereadycontributingmd)
21
-
-[License](#license)
22
-
-[Miscellaneous](#miscellaneous)
9
+
-[Status](#status)
10
+
-[Brief description](#brief-description)
11
+
-[Download](#download-)
12
+
-[Building the library](#building-the-library)
13
+
-[Reading JSON from a file](#reading-json-from-a-file)
14
+
-[Reading JSON from a string](#reading-json-from-a-string)
15
+
-[Modifying variables in a JSON file](#modifying-variables-in-a-json-file)
16
+
-[Writing a JSON file](#writing-a-json-file)
17
+
-[Building a JSON file from scratch](#building-a-json-file-from-scratch)
A user-friendly and object-oriented API for reading and writing JSON files, written in
41
41
modern Fortran. The source code is a single Fortran module file ([json_module.F90](https://github.com/jacobwilliams/json-fortran/blob/master/src/json_module.F90)).
Download the official versioned releases [here](https://github.com/jacobwilliams/json-fortran/releases/latest). Or, get the latest development code from the master branch [here](https://github.com/jacobwilliams/json-fortran.git).
47
48
49
+
[top](#json-fortran-)
48
50
Building the library
49
51
--------------------
50
52
@@ -86,7 +88,7 @@ cmake_minimum_required ( VERSION 2.8.8 FATAL_ERROR )
@@ -140,6 +143,7 @@ for more examples. The source files may be found in `src/tests/`.
140
143
end program example1
141
144
```
142
145
146
+
[top](#json-fortran-)
143
147
Reading JSON from a string
144
148
---------------
145
149
JSON can also be read directly from a character string like so:
@@ -159,6 +163,7 @@ After reading a JSON file, if you want to change the values of some of the varia
159
163
call json%update('version.patch',0,found) !change patch to 0
160
164
```
161
165
166
+
[top](#json-fortran-)
162
167
Writing a JSON file
163
168
---------------
164
169
@@ -169,6 +174,7 @@ To print the JSON file (either to a file or the console), the `print_file` metho
169
174
call json%print_file(iunit) !prints to the file connected to iunit
170
175
```
171
176
177
+
[top](#json-fortran-)
172
178
Building a JSON file from scratch
173
179
---------------
174
180
@@ -244,19 +250,23 @@ The code above produces the file:
244
250
}
245
251
```
246
252
253
+
[top](#json-fortran-)
247
254
Documentation
248
255
--------------
249
256
250
257
The API documentation for the latest release version can be found [here](http://jacobwilliams.github.io/json-fortran). The documentation can also be generated by processing the source files with [RoboDoc](http://rfsber.home.xs4all.nl/Robo/). Note that both the shell script, CMake, and SCons will also generate these files automatically in the documentation folder, assuming you have RoboDoc installed.
251
258
259
+
[top](#json-fortran-)
252
260
Contributing [](CONTRIBUTING.md)
253
261
------------
254
262
Want to help? Take a quick look at our [contributing guidelines](CONTRIBUTING.md) then claim something in [the "ready" column on our Waffle.io](https://waffle.io/jacobwilliams/json-fortran) and [Fork. Commit. Pull request.](https://help.github.com/articles/fork-a-repo).
255
263
264
+
[top](#json-fortran-)
256
265
License
257
266
--------
258
267
The json-fortran source code and related files and documentation are distributed under a permissive free software license (BSD-style). See the [LICENSE](https://raw.githubusercontent.com/jacobwilliams/json-fortran/master/LICENSE) file for more details.
259
268
269
+
[top](#json-fortran-)
260
270
Miscellaneous
261
271
---------------
262
272
@@ -265,3 +275,5 @@ Miscellaneous
265
275
*[json-fortran on Travis CI](https://travis-ci.org/jacobwilliams/json-fortran)
266
276
*[json-fortran on Waffle.IO](https://waffle.io/jacobwilliams/json-fortran)
267
277
*[json-fortran on Coveralls.IO](https://coveralls.io/r/jacobwilliams/json-fortran)
0 commit comments