Skip to content

Conversation

@nbehrnd
Copy link
Contributor

@nbehrnd nbehrnd commented Mar 12, 2025

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]

nbehrnd and others added 7 commits February 28, 2025 16:32
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]>
@nbehrnd
Copy link
Contributor Author

nbehrnd commented Mar 12, 2025

#build_preview

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Mar 12, 2025

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.

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Mar 27, 2025

Test of a cross-link pattern proposed by chatgtp (which doesn't work in the local build - but perhaps here).

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Mar 27, 2025

#build_preview

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

@nbehrnd nbehrnd force-pushed the dev branch 10 times, most recently from 1c5db17 to b911716 Compare April 11, 2025 17:17
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]>
@nbehrnd
Copy link
Contributor Author

nbehrnd commented Apr 11, 2025

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.

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Apr 11, 2025

#build_preview

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Apr 23, 2025

#build_preview

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Apr 24, 2025

@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 #build_preview comments and builds in this thread), the setup of a local fork by cloning from GitHub, creation of a virtual Python environment including a pip install -r requirements.txt was not sufficient to locally build the previews. Tentatively, I attribute this to the constraint of the computer used (Windows 10 without gfortran, or any compiler aware of Fortran). To keep the commit history "compact", I squashed many individual commits into a few and presume after the review, an additional squash may take place. If you (as owner of the GitHub repository) can remove the intermediate builds, go ahead and erase them for good.

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).

Fortran_95_language_features.pdf

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Jun 30, 2025

A friendly reminder to invite a new review to advance.

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Jun 30, 2025

#build_preview

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Jun 30, 2025

@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.

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Nov 13, 2025

@perazz A friendly reminder.

@henilp105
Copy link
Member

@nbehrnd Thanks for the ping missed this PR, will review it by today.

Copilot finished reviewing on behalf of henilp105 November 13, 2025 13:20
Copy link
Contributor

Copilot AI left a 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.

Copy link
Member

@henilp105 henilp105 left a 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.

@nbehrnd
Copy link
Contributor Author

nbehrnd commented Nov 14, 2025

@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 Mr.Fortran) however presume this can be addressed in a separate & subsequent PR after discussion with Mike Metcalf. In preparation of the PR, I shared the addresses of the #generate_preview builds with him where deemed suitable. By March 17th (time stamp on fortran-lang.discourse.group's mail system), he replied to me with a "looks good to me" note. By content, ready to advance.

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.

@henilp105
Copy link
Member

#build_preview

@github-actions
Copy link

This PR has been built with Sphinx and can be previewed at: https://fortran-lang.github.io/webpage/pr/542

Copy link
Member

@henilp105 henilp105 left a 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.

@henilp105 henilp105 merged commit f3b95d9 into fortran-lang:main Nov 14, 2025
@nbehrnd nbehrnd deleted the dev branch November 15, 2025 16:03
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

Successfully merging this pull request may close these issues.

3 participants