Skip to content
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

booklet Fortran 95 features #542

Draft
wants to merge 75 commits into
base: main
Choose a base branch
from
Draft

booklet Fortran 95 features #542

wants to merge 75 commits into from

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 30 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]>
A verbatim copy of the content (source: f95_features.md).

Signed-off-by: Norwid Behrnd <[email protected]>
Given this is chapter is a file on its own, one level of `#` is
removed.

Signed-off-by: Norwid Behrnd <[email protected]>
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]>
For a more consistent code formatting in the snippets of Fortran,
a fprettify style file was added.  On occasion, its results will
be overridden though; eventually, it will be removed, too.

Signed-off-by: Norwid Behrnd <[email protected]>
Edits in the Fortran codes with fprettify, to apply a pattern as
seen in the other fortran-lang.org booklets (lower case keywords,
two spaces per level of indentation, etc.).

Signed-off-by: Norwid Behrnd <[email protected]>
An entry about the new booklet under construction is created.
For now, the work on the first chapter ends, the container
file is truncated accordingly.

Signed-off-by: Norwid Behrnd <[email protected]>
The two files are prepared for the new file to work on,
expressions_and_assignments.md

Signed-off-by: Norwid Behrnd <[email protected]>
A verbatim copy of the next section (source: f95_features.md).

Signed-off-by: Norwid Behrnd <[email protected]>
Drop of one level of hierachy throughout the document.

Signed-off-by: Norwid Behrnd <[email protected]>
A lint which affects all except Fortran code, tables, links.

Signed-off-by: Norwid Behrnd <[email protected]>
For now, work on file `expressions_and_assignments.md` is complete,
the container file can be truncated accordingly.

Signed-off-by: Norwid Behrnd <[email protected]>
Prepare the two files for the new file to work on,
control_statements.md
A verbatim copy of content (source: f95_features.md).

Signed-off-by: Norwid Behrnd <[email protected]>
Since the section is a file on its own, one level of hierachy
was dropped throughout the document.

Signed-off-by: Norwid Behrnd <[email protected]>
For now, work on file `control_statements.md` is complete; the
corresponding section in the container file thus is removed.

Signed-off-by: Norwid Behrnd <[email protected]>
Prepare files learning.yml and the project's index.md for the
next file to work on, program_units_and_procedures.md.

Signed-off-by: Norwid Behrnd <[email protected]>
A verbatim copy of contents from `f95_features.md`.

Signed-off-by: Norwid Behrnd <[email protected]>
nbehrnd added 27 commits March 10, 2025 16:26
Signed-off-by: Norwid Behrnd <[email protected]>
Work on file pointers.md stops for now.

Signed-off-by: Norwid Behrnd <[email protected]>
Prepare for the new section and file to work on,
intrinsic_procedures.md.

Signed-off-by: Norwid Behrnd <[email protected]>
A verbatim copy (source: f95_features.md).

Signed-off-by: Norwid Behrnd <[email protected]>
No edit of links, tables, or source code though.

Signed-off-by: Norwid Behrnd <[email protected]>
Work on intrinsic_procedures.md halts.

Signed-off-by: Norwid Behrnd <[email protected]>
Prepare for the next section and file to work on, data_transfer.md.

Signed-off-by: Norwid Behrnd <[email protected]>
A verbatim copy (source: f95_features.md).
No edit on tables, links, or Fortran source code though.

Signed-off-by: Norwid Behrnd <[email protected]>
Signed-off-by: Norwid Behrnd <[email protected]>
Work on file data_transfer.md comes to a halt.

Signed-off-by: Norwid Behrnd <[email protected]>
Prepare for the next section and file to work on,
operations_on_external_files.md.

Signed-off-by: Norwid Behrnd <[email protected]>
A verbatim copy (source: f95_features.md).

Signed-off-by: Norwid Behrnd <[email protected]>
Remove again one layer of hierachy.

Signed-off-by: Norwid Behrnd <[email protected]>
Again without retouche of tables, links, Fortran source code.

Signed-off-by: Norwid Behrnd <[email protected]>
Work on file operations_on_external_files.md is halted.

Signed-off-by: Norwid Behrnd <[email protected]>
Prepare for the next (and last) section / file to work on,
bibliography.md.

Signed-off-by: Norwid Behrnd <[email protected]>
This copies the mediawiki source code block of the Wikipedia
article's bibliography.  It will be edited after the other
sections are revised.

Signed-off-by: Norwid Behrnd <[email protected]>
The content of container file f95_features.md provided now is
split into individual Markdown files, thus this file no longer
is required.

Signed-off-by: Norwid Behrnd <[email protected]>
A couple of tables do not have a proper head line and thus
are managed now as csv table[1] where this is an optional
component only.

[1] https://mystmd.org/guide/tables#csv-tables

Signed-off-by: Norwid Behrnd <[email protected]>
This is a merge commit about revisions in the individual
Markdown files of the new booklet; mainly to improve the
consistency Fortran code and where possible, the links.

It was not possible to check all internal cross-links,
for which the infrastructue of the principal GitHub repository
will be used.

Signed-off-by: Norwid Behrnd <[email protected]>
@nbehrnd
Copy link
Contributor Author

nbehrnd commented Mar 12, 2025

#build_preview

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.

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.

1 participant