-
Notifications
You must be signed in to change notification settings - Fork 64
booklet Fortran 95 features #542
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
Conversation
A correction based on Beliavsky's reading.[1] [1] fortran-lang#526 Signed-off-by: Norwid Behrnd <[email protected]>
Based on a request on fortran-lang.org,[1] work for a new booklet for the learning section of fortran-lang.org about the features of Fortran 95 starts. The initial step was to fetch the source code (mediawiki synatax) which was converted with Pandoc to GitHub flavored Markdown where possible. This was not possible for the trailing bibliography section of the Wikipedia article (hence left as such in a fenced code block), which however is more an optional "for an additional read, consult ..." rather than a specific literature reference to a particular keyword, or phrase. While GitHub flavored Markdown isn't (yet) MyST Markdown flavor required, it is close enough for the manual edit ahed. Equally a TODO is to build a multipage booklet, i.e. an `index.md` and individual Markdown files about each chapter; this gradually removes `f95_features.md` as an intermediate container file. [1] https://fortran-lang.discourse.group/t/fortran-95-language-features/9263 Signed-off-by: Norwid Behrnd <[email protected]>
Added an explicit note about the last commit (on side of Wikipedia) the source of this booklet is about. Signed-off-by: Norwid Behrnd <[email protected]>
Throughout the source file (and equally in the mediawiki file), the label of the code fences was `fortran`. Because the file is about Fortran 95, it was updated by ```bash sed 's/``` fortran/```f90/' f95_features.md > temp.txt mv temp.text f95_features.md rm temp.txt ``` Signed-off-by: Norwid Behrnd <[email protected]>
Creation of the index.md file, already anticipating the first chapter to be added. Corresponding cut in the container file.
The index of booklets in `learn.md` was amended by a link about the new booklet under construction. Signed-off-by: Norwid Behrnd <[email protected]>
|
#build_preview |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
|
While building the booklet locally (with an instance of Linux Debian 13/trixie), I face a couple of difficulties; mainly the definition and subsequent use of links within the booklet, but across (specific sections of) Markdown files. Hence I would like to use the infrastructure provided here to "repair" these issues before squashing multiple commits which is going to affect the commit history. Thus, I consider the present form as not yet ready to file a normal PR and standard review. |
|
Test of a cross-link pattern proposed by chatgtp (which doesn't work in the local build - but perhaps here). |
|
#build_preview |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
1c5db17 to
b911716
Compare
Linting with markdownlint (version 0.13.0) as packaged by Debian Linux[1] except for any kind of links, tables and checks on snippets of Fortran. [1] https://tracker.debian.org/pkg/ruby-mdl Signed-off-by: Norwid Behrnd <[email protected]>
|
After retaining a local .zip archive of the original repository, work previously committed in individual commits per chapter/section was rebased and squashed into a few commits. To guarantee the outcome is still the same as earlier, there will be again the call to the github action to build a new preview. |
|
#build_preview |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
|
#build_preview |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
|
@perazz, @henilp105, or other volunteering steward of the web site After multiple iterations, the booklet to save Mike Metcalf's Fortran 95 features from Wikipedia (cf. discussion in February 2025) is ready for a first round of review. To me, an obstacle was to figure out how to cross-reference from one Markdown file to a specific section of an other Markdown file because I did not identify an already existing multipage booklet using this feature as reference pattern. An accidental find provided an approach different to the instructions given, however (as checked with the previews built here on GitHub) working. Second (especially in the course of the past days; hence the many To ease the review of this larger booklet, I attach the pdf of the original article as exported by Wikipedia on February 28th (41 pages ISO A4, no illustrations, about 1 MB). |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
|
A friendly reminder to invite a new review to advance. |
|
#build_preview |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
|
@perazz Thank you for spotting the oversight on my side which was corrected altogether with a few other typos I saw now. The preview is newly built; if admitted, I however would prefer the whole work squashed into a single commit. |
|
@perazz A friendly reminder. |
|
@nbehrnd Thanks for the ping missed this PR, will review it by today. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a comprehensive booklet about Fortran 95 language features to the learning section, based on content from Wikipedia's article "Fortran 95 language features". The material is reformatted as a multipage booklet covering fundamental language concepts, syntax, and features.
- Adds 11 new documentation pages covering Fortran 95 language elements, expressions, control structures, procedures, arrays, pointers, intrinsics, I/O operations, and references
- Includes configuration file for code formatting (fprettify.rc)
- Updates the learning section index to include the new booklet
- Makes minor grammar corrections to existing OOP documentation
Reviewed Changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
| source/learn/f95_features/index.md | Main index page for the Fortran 95 features booklet with navigation structure |
| source/learn/f95_features/language_elements.md | Covers basic language elements including data types, variables, arrays, and initialization |
| source/learn/f95_features/expressions_and_assignments.md | Documents operators, expressions, and assignment rules for different data types |
| source/learn/f95_features/control_statements.md | Describes control flow constructs including if, case, and do statements |
| source/learn/f95_features/program_units_and_procedures.md | Details program structure, modules, procedures, interfaces, and recursion |
| source/learn/f95_features/array_handling.md | Comprehensive coverage of array operations, sections, and intrinsic functions |
| source/learn/f95_features/pointers.md | Documents pointer usage, association, and pointer-related operations |
| source/learn/f95_features/intrinsic_procedures.md | Lists and categorizes intrinsic procedures available in Fortran 95 |
| source/learn/f95_features/data_transfer.md | Covers formatted/unformatted I/O, internal files, and direct-access files |
| source/learn/f95_features/operations_on_external_files.md | Documents file operations including open, close, and inquire statements |
| source/learn/f95_features/bibliography.md | References and citations for Fortran 95 resources |
| source/learn/f95_features/fprettify.rc | Configuration file for Fortran code formatting tool |
| data/learning.yml | Adds booklet entry to learning resources catalog with page references |
| source/learn.md | Updates learning section table of contents to include new booklet |
| source/learn/oop_features_in_fortran/object_based_programming_techniques.md | Minor grammar and punctuation corrections to existing documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nbehrnd Thanks for the PR, I have added some changes, ping me when we are ready to merge the PR. Looks good for merging.
|
@henilp105 Thank you for the rapid review. Back in spring, the intent agreed between Mike Metcalf and me was to mirror the content from the Wikipedia repository as by the then last edit (on Wikipedia) by February 25, 2025 16:08 UTC. I'm aware that this reference moved since then (though none of the commits there with the tag The review equally was necessary for technical reasons, i.e. how to use a functional cross-link from the landing page of the booklet to create to its sub sections/children (#543) because this PR's layout was more complex, than an earlier booklet. This issue seems to be resolved. By format, ready to advance. Thus to me, the booklet is ready for merge. Thank you again for your kind assistance. |
|
#build_preview |
|
This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542 |
henilp105
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @nbehrnd LGTM , Merging.
As an addition to the learning section, the material of the Wikipedia article "Fortran 95 language features"[1] is reformat as a multipage booklet.
[1] https://en.wikipedia.org/wiki/Fortran_95_language_features
Signed-off-by: Norwid Behrnd [email protected]