GithubHelp home page GithubHelp logo

blaylockbk / ford Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fortran-foss-programmers/ford

0.0 0.0 1.0 7.52 MB

Automatically generates FORtran Documentation from comments within the code.

Home Page: https://forddocs.readthedocs.io

License: GNU General Public License v3.0

JavaScript 4.57% Python 75.44% Fortran 3.54% CSS 2.19% HTML 14.26%

ford's Introduction

FORD

Latest Version Latest homebrew version Latest spack version PyPI Total Downloads GitHub license DOI

This is an automatic documentation generator for modern Fortran programs. FORD stands for FORtran Documenter. As you may know, "to ford" refers to crossing a river (or other body of water). It does not, in this context, refer to any company or individual associated with cars.

Ford was written due to Doxygen's poor handling of Fortran and the lack of comparable alternatives. ROBODoc can't actually extract any information from the source code and just about any other automatic documentation software I found was either proprietary, didn't work very well for Fortran, or was limited in terms of how it produced its output. f90doc is quite good and I managed to modify it so that it could handle most of Fortran 2003, but it produces rather ugly documentation, can't provide as many links between different parts of the documentation as I'd like, and is written in Perl (which I'm not that familiar with and which lacks the sort of libraries found in Python for producing HTML content).

The goal of FORD is to be able to reliably produce documentation for modern Fortran software which is informative and nice to look at. The documentation should be easy to write and non-obtrusive within the code. While it will never be as feature-rich as Doxygen, hopefully FORD will be able to provide a good alternative for documenting Fortran projects.

Capabilities

Current features include:

  • the ability to extract information about variables, procedures, procedure arguments, derived types, programs, and modules from the source code.
  • the ability to extract documentation from comments in the source code.
  • LaTeX support in documentation using MathJax.
  • searchable documentation, using Tipue Search.
  • author description and social media (including Github!) links.
  • links to download the source code.
  • links to individual files, both in their raw form or in HTML with syntax highlighting.
  • use of Markdown to type-set documentation.
  • links between related parts of the software.
  • Bootstrap CSS for the documentation, making it both functional and pretty.
  • configurable settings.
  • ability to create a hierarchical set of pages containing general information, not associated with any particular part of the source code.
  • display an entry for non-Fortran source files with file-level documentation and syntax highlighted code.

Installation

The simplest way to install FORD is using pip:

pip install ford

Pip will automatically handle all dependencies for you. By default this will place ford in ~/.local/bin -- you might need to add this to your PATH.

Alternatively, FORD is available through the Homebrew package manager for Mac OS X. To update Homebrew and install FORD, run these commands in a terminal:

brew update
brew install FORD

If you would like to install the latest development (master) branch from github, simply add the --HEAD flag: brew install --HEAD FORD

FORD is also available through the spack package manager by running the following command:

spack install py-ford

Documentation

More complete documentation can be found in the docs.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but without any warrenty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see the GNU website.

Documents produced by FORD are derivative works derived from the input used in their production; they are not affected by this license.

ford's People

Contributors

band-a-prend avatar baradi09 avatar chenrui333 avatar chucklesoclock avatar cmacmackin avatar d7919 avatar dschwoerer avatar ecasglez avatar haraldkl avatar iainbarrass avatar jacobwilliams avatar jburgalat avatar jhrmnn avatar kevinhng86 avatar lizzyd710 avatar meax5qiu avatar mrestelli avatar narsonalin avatar p-vitt avatar pclausen avatar pheibarrass avatar pjpbyrne avatar rmshur avatar scivision avatar shoshijak avatar st-maxwell avatar tueda avatar zbeekman avatar zedthree avatar zerothi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.