Fortran 源码归档转HTML文档==>Ford

使用:Ford 将 .f95 生成HTML文档, 个人笔记

FORD 官网文档

1.准备一台Centos 7虚拟机

 2.安装python3

# 更新一下
yum update

# 安装python相关依赖
sudo yum groupinstall -y "Development Tools"
sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

# 下载Python 3.8源码,使用 ford 必须python 3.6(不含)以上,>= 3.7
# 创建存放源码的位置,需要安装 wget 没有安装的需要安装: 
yum install wget
# 切换路径,我把源码放在/opt/tools/下面
cd /opt/tools/
# 下载
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

# 解压源码
tar xvf Python-3.8.0.tgz

# 名字太长我修改一下:
mv Python-3.8.0 python3

# 编译安装
cd python3/
./configure --enable-optimizations
make altinstall

# 验证安装
python3.8 --version

# 创建软连接(可省略)
ln -s /usr/local/bin/python3.8 /usr/local/bin/python3

3.安装 pip

# 安装EPEL仓库,因为pip包含在EPEL仓库中:
sudo yum install epel-release

# 如果你想使用Python 3的pip,你需要先安装Python 3,然后安装pip3:
# 安装Python 3:
sudo yum install python3

# 安装pip3:
sudo yum install python3-pip

# 验证
pip3 -V

# 安装完成后,你可以通过运行pip或pip3来使用对应的pip版本。例如,为Python 3安装包:
pip3 install package_name

 4.虚拟环境安装ford

安装虚拟环境:

# 安装virtualenv:
pip3 install virtualenv

# 创建一个虚拟环境:
python3.8 -m venv my_env

#  也可以直接使用 virtualenv my_env 创建,但是python版本是3.7以下的,创建出来就无法使用(最好像上面一样带上python3.8)
# virtualenv my_env 

# 激活虚拟环境:
source my_env/bin/activate

# 在虚拟环境中安装ford包:
pip3 install ford

# 检查
ford -V

* 我这里是ford version 7.0.6  // 如果你使用的python3.7 以下版本是不行的,ford version 6.1.13

 5.运行ford

# 运行之前先上传源码,创建好存放源码的文件夹

源码:/opt/tran_code/

输出: /opt/tran_out/

因为我的源码中有编码格式不是UTF-8的:
使用脚本转换之后的路径:/opt/tran_convert/

脚本:

#!/bin/bash

# 源文件目录
source_dir="/opt/tran_code/"

# 目标文件目录
target_dir="/opt/tran_convert/"

# 转换所有的 .f95 文件
for file in "$source_dir"/*.f95; do
  if [ -f "$file" ]; then
    filename=$(basename "$file")
    target_file="$target_dir/${filename%.*}.f95"
    iconv -f latin1 -t UTF-8 "$file" -o "$target_file"
    echo "Converted $file to $target_file"
  fi
done

# 运行脚本:注意脚本存放的路径
./convert.sh

# 现在 tran_convert 才是编码统一UTF-8之后的文件夹
============================================>
==============******开始转换******=================>
============================================>
# 注意你主程序没有program main  需要加在第一行
# 需要创建一个空的 tran.ford
vim tran.ford

# 执行转换命令
ford -d /opt/tran_convert -p /opt/tran_out --no-search -g -o /opt/tran_out/doc /opt/tran.ford


# ford 可选

-h, --help- 显示此帮助消息并退出

-d SRC_DIR, --src_dir SRC_DIR- 包含项目所有源文件的目录(默认值./src:)

-p PAGE_DIR, --page_dir PAGE_DIR-包含静态页面的目录(默认值:无)

-o OUTPUT_DIR, --output_dir OUTPUT_DIR- 放置输出文件的目录(默认值./doc:)

-s CSS, --css CSS- 输出的自定义样式表

-r REVISION, --revision REVISION-源代码版本号或项目修订记录

--exclude EXCLUDE- 不应包含在文档中的文件列表

--exclude_dir EXCLUDE_DIR- 不应包含在文档中的目录列表

-e EXTENSIONS, --extensions EXTENSIONS- 需要扫描文档的扩展(默认值f90, f95, f03, f08:)

-m MACRO, --macro MACRO- 预处理器宏(可选带值)应用于预处理文件

-w, --warn- 显示未记录项目的警告

-f, --force-即使出现致命错误,也尝试继续读取文件

-g, --graph- 生成用于文档输出的图表

--no-search- 不处理文档以产生搜索功能

-q, --quiet- 抑制正常输出

-V, --version-显示程序的版本号并退出

--debug- 如果发生致命异常,则显示回溯并打印错误行

-I INCLUDE, --include INCLUDE-要搜索include文件的目录列表

--externalize- 在 json 数据库中提供有关 Fortran 对象的信息,以供其他 FORD 项目参考。

-L EXTERNAL, --external_links EXTERNAL -

链接到的外部项目。
如果在源中找不到实体,FORD 将尝试在这些外部项目中查找它。如果这些项目具有由 FORD 使用 externalize 选项生成的文档,则将在文档中放置一个链接,无论该实体被引用到哪里。FORD 将在提供的路径中查找 modules.json 文件。

--config CONFIG- 任何其他 FORD 选项都以分号分隔的 TOML 字符串形式显示。通过此字符串设置的选项优先级低于其他命令行选项

6.转换成doc文档

# 生成 HTML 后,您可以使用 pandoc 工具将 HTML 转换为 DOC 和 PDF 格式。
# 安装 Pandoc
sudo yum install pandoc

# 只能单个页面转换,意义不大,可以研究别的
# 转换 HTML 为 DOC
pandoc /opt/tran_out/doc/index.html -o /opt/tran_out/doc/tran.docx

 

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cocosum

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值