Skip to content

文档开发

本章涵盖文档的使用(例如在IDE中)以及内容本身的开发过程。

  • 目录将显示在这里

永久链接

文档树的稳定版本(机器可访问部分)以/tB/前缀为根。具有此前缀的URL以及内部链接(例如docs.twinbasic.com/tB/Modules/Math#round)都是稳定的。

/tB/Core/<Statement>

  • AppActivate
  • Beep
  • Call, ChDir, ChDrive, Class, Close, CoClass, Const, Continue
  • Date, Declare, Deftype, DeleteSetting, Dim, Do-Loop
  • End, Enum, Erase, Error, Event, Exit
  • FileCopy, For-Next, For-Each-Next, Function
  • Get, GetSetting, GoSub-Return, GoTo
  • If-Then-Else, Implements, Input, Interface, Is
  • Kill
  • LBound, Let, Line-Input, Load, Lock, LSet
  • Mid-equals for Mid(...) = ... , MidB-equals for MidB(...) = ..., MkDir, Module
  • Name, New
  • Option, On-Error, On-GoSub, On-GoTo, Open
  • ParamArray, Print, Private, Property, Protected, Public, Put
  • RaiseEvent, ReDim, Reset, Resume, RmDir, RSet
  • SavePicture, SaveSetting, Seek, Select-Case, SendKeys, Set, SetAttr, Static, Sub, Stop
  • Time, Type
  • Unload, Unlock
  • While-Wend, Width, With, Write

/tB/Modules/<ModuleName>#<procedure>

在每个模块内,除非另有说明,过程和语句都是内部链接,例如LenB: /tB/Modules/Strings#lenb。带有$后缀的版本具有以-1结尾的参考链接,例如LenB$: /tB/Modules/Strings#lenb-1。

类似地,当过程和语句是独立页面时,例如Date$: /tB/Modules/DateTime/Date#date-1,带$后缀的版本具有以-1结尾的参考链接。

这些是VBA和VBRUN中的模块:

  • VBA
    • Collection
    • Compilation
    • Constants
    • Conversion
    • DateTime
    • ErrObject
    • ExpressionService
    • FileSystem
    • Financial
    • Information
    • Interaction
    • Math
    • Strings
    • TextEncodingConstants
    • 内部_HiddenModule
  • VBRUN
    • AmbientProperties
    • AsyncProperty
    • Constants
    • ContainedControls
    • DataMembers
    • DataObject
    • ErrorCallstack
    • ErrorContext
    • ErrorStackFrame
    • Hyperlink
    • ParentControls
    • PropertyBag

/tB/Core/Attributes#<attribute>

NOTE

所有非字母字符以及参数都从链接中移除。所有属性名称在链接中都是小写的。例如ArrayBoundsChecks(Bool)被引用为/tB/Core/Attributes#arrayboundschecks

  • AppObject, ArrayBoundsChecks
  • BindOnlyIfNoArguments, BindOnlyIfStringSuffix
  • ClassId, ClassInterface, CoClassCustomConstructor, CoClassId, COMControl, COMCreatable, COMExtensible, ComImport, CompileIf, CompilerOptions, ConstantFoldable, ConstantFoldableNumericsOnly
  • Debuggable, DebugOnly, DefaultMember, Description, DispId, DispInterface, DllExport, DLLStackCheck, DualInterface
  • EnforceErrors, EnforceWarnings, EnumId, EventInterfaceId, EventsUseDispInterface
  • Flags, FloatingPointErrorChecks, FormDesignerId, Hidden
  • IdeButton, IgnoreWarnings, IntegerOverflowChecks, InterfaceId
  • MustBeQualified
  • OleAutomation
  • PackingAlignment, PopulateFrom, PredeclaredID, PreserveSig
  • Restricted, RunAfterBuild
  • Serialize, SetDllDirectory, SimplerByVals
  • TestCase, TestFixture, TypeHint
  • Unimplemented, UseGetLastError, UserDefinedTypeIsAnAlias
  • WindowsControl

开发环境

文档使用Jekyll构建(渲染为HTML)。

  1. 确保满足必要的要求附加要求

  2. 如果您计划进行任何更改或为了方便,请将https://github.com/twinbasic/documentation分叉到您自己的GitHub账户。如果您只想构建文档而不进行更改,则可以跳过此步骤。

  3. 克隆第2步中的分叉仓库或文档仓库本身

  4. **转到克隆的工作树中的/docs文件夹。**构建、服务和其他文档操作都在此文件夹中完成,而不是在仓库根目录中。

要求

必须安装Jekyll和Ruby。

同时确保Jekyll在PATH中。要在Windows上调整路径,请按⊞ R,输入SystemPropertiesAdvanced Enter,然后点击**环境变量...**按钮。img

构建

要构建文档,即从.md文件渲染到_site文件夹:

bundle exec jekyll build

或者,仅在Windows上:

build.bat

检查链接完整性

在检查链接完整性之前,必须构建文档。这可以通过构建临时完成,或者通过构建和服务在后台连续完成。

要检查最新文档构建中的内部链接是否损坏:

bundle exec htmlproofer ./_site --disable-external --no-enforce-https

或者,仅在Windows上:

check.bat

构建和本地服务

要从localhost:4000构建和服务文档:

bundle exec jekyll serve

或者,仅在Windows上:

serve.bat

文档服务器检测文件系统中的更改并根据需要自动重新生成HTML文件。服务器不会跟踪_config.yml中的更改。如果更改配置,必须重启服务器。通过反复按CtrlC来中断服务器。

Mermaid图表

Mermaid图表支持在{% raw %}{% mermaid %} ... {% endmermaid %}{% endraw %}标签内,例如

{% raw %}{% mermaid %}
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
{% endmermaid %}{% endraw %}

为了方便使用,图表在Jekyll构建/服务期间离线处理。图表被提取、渲染并保存到assets/images中。它们是仓库的一部分,assets/images中出现的任何新图表都应该添加到git中。渲染使用mermaid-cli

附加要求

要渲染新的或更改的图表,应满足以下条件:

部署到docs.twinbasic.com

  1. 将您的更改推送到文档仓库的GitHub分叉。

  2. 在文档仓库中打开新的拉取请求

  3. 点击跨分叉比较

  4. 选择您的仓库和要合并的分支。

    img

  5. 创建拉取请求。

    img

    维护者将把拉取请求合并到文档仓库中。您可能希望在#docs频道提及待处理的请求,尽管#github-docs频道提供拉取请求的自动通知。通常,维护者会通过Discord获得新拉取请求的通知,并将合并它或评论要求更改/改进。

    以下步骤由维护者完成

  6. 审查,然后合并拉取请求或评论所需的更改。

    img

    img

  7. 选择部署Jekyll站点到Pages操作。 img

  8. 手动运行构建和部署工作流,因为它不会自动启动。 img

编辑截图

编辑截图的一种方法是使用集成的矢量/像素软件,如Affinity1。可能的工作流程是:

  1. PrtSc捕获截图。

  2. 在Affinity中,Ctrl-Alt-Shift-N(文件,从剪贴板新建)将整个截图导入程序。

  3. 使用矢量裁剪工具(来自矢量工作室)将截图裁剪到相关部分。

    img img

  4. 选择裁剪后的图像,并复制Ctrl-C到剪贴板。

  5. 再次从剪贴板创建新文件,打开仅包含裁剪截图的文档Ctrl-Alt-Shift-N(文件,从剪贴板新建)。

  6. 关闭在第2步中打开的文件。

  7. 根据需要添加箭头和标签。这些可以从本仓库中的其他.af文件复制粘贴。

  8. 导出为PNG Ctrl-Alt-Shift-W(文件,导出,导出...)。

NOTE

惯例是将.af("源")文件放在_Images文件夹中,将导出的.png文件放在Images文件夹中。只有后者发布到网站。前者仅用于保存源文件以便轻松编辑/更新。


1 Affinity是一款免费软件,结合了矢量编辑器、位图编辑器和发布布局编辑器的功能。要下载,需要Canva账户。账户是免费的。

twinBASIC及其LOGO版权为作者"韦恩"所有