FlClash 是一个基于 Webpack 的 Markdown 撰写工具,允许用户在网页上使用 Markdown 编辑,甚至在网页上运行代码。以下是 FlClash 配置指南的详细步骤和注意事项

rrmb3557661 2026-10-15 FANVPN 26 0

安装 FlClash

  • 下载并安装 FlClash 的依赖:npm install flclash

配置应用

a. 在网页中添加 FlClash

  • 在 HTML 文件中添加以下代码:
    <link rel="stylesheet" href="/.index.json">

    这会加载 FlClash 的配置文件。

b. 设置配置文件

  • 在 ./.index.json 文件中设置 FlClash 的基本配置:
    {
      "baseUrl": "./",
      "baseUrlDir": "./src",
      "configDir": "./config",
      "app": {
        "name": "FlClash",
        "template": "flclash",
        "templateOption": "main",
        "baseUrl": "FlClash",
        "htmlDir": "./html",
        "htmlResolution": "3",
        "htmlExtension": ".html",
        "render": {
          "use:html": true,
          "use:js": true,
          "use:client": true,
        },
        "isLoading": false,
        "startUp": true,
        "configOptions": {
          "scriptbase": "http://localhost:3",
          "htmlbase": "http://localhost:3",
          "jsbase": "http://localhost:3",
          "htmlEnv": "FlClash",
          "htmlEnvPath": "./htmlEnv.js",
          "jsEnv": "FlClash",
          "jsEnvPath": "./jsEnv.js",
        },
      },
      "appConfig": {
        "port": 3,
        "baseUrl": "FlClash",
        "htmlDir": "./html",
        "htmlResolution": "3",
        "htmlExtension": ".html",
        "renderOptions": {
          "htmlProvider": {
            "baseUrl": "FlClash",
            "htmlDir": "./html",
            "htmlResolution": "3",
            "htmlExtension": ".html",
          },
          "htmlProviderEnv": {
            "baseUrl": "FlClash",
            "htmlDir": "./html",
            "htmlResolution": "3",
            "htmlExtension": ".html",
          },
        },
      },
      "htmlProvider": {
        "baseUrl": "FlClash",
        "htmlDir": "./html",
        "htmlResolution": "3",
        "htmlExtension": ".html",
      },
    }

配置前端渲染

a. 在 HTML 文件中配置前端渲染:

<script type="text/x-data" id="FlClash" data-flclash">
  {fetch('/').then((res) => { return res.json(); }).then((json) => {
    console.log('FlClash version:', JSON.stringify(json));
  })}
</script>

b. 在网页的 JavaScript 中配置前端渲染:

// 在 HTML 文件中添加 script 事件 listener:
document.addEventListener('DOMContentLoaded', (e) => {
  fetch('/').then((res) => {
    const response = res.json();
    console.log('FlClash version:', response);
  }).catch(err => {
    console.error('Error:', err);
  });
});

配置后端渲染

a. 在 JavaScript 中配置后端渲染:

// 在 HTML 文件中添加 script 事件 listener:
document.addEventListener('DOMContentLoaded', (e) => {
  fetch('/').then((res) => {
    const response = res.json();
    console.log('FlClash version:', response);
  }).catch(err => {
    console.error('Error:', err);
  });
});

配置 FlClash 的配置选项

a. 在网页中添加配置选项:

<script type="text/event" id="FlClash">
  {fetch('/').then((res) => {
    const options = JSON.parse(res.json());
    // Markdown 支持
    options['markdown'] = {
      extensions: ['markdown'],
      extensionsOptions: {
        'extensions': {
          'markdown': {
            'full': true,
            'token': '##',
          }
        }
      }
    }
    // 前端渲染
    options['frontend'] = {
      options: {
        'htmlProvider': {
          'baseUrl': 'FlClash',
          'htmlDir': './html',
          'htmlResolution': '3',
          'htmlExtension': '.html',
        },
      },
    }
    // 后端渲染
    options['backend'] = {
      options: {
        'jsEnv': {
          'baseUrl': 'FlClash',
          'jsDir': './js',
          'jsResolution': '3',
          'jsExtension': '.js',
        },
      }
    }
  }, error: function(err) {
    console.error('FlClash配置错误:', err);
  })
</script>

保存配置

  • 保存配置文件 ./.index.json,以确保配置被引用。

在 Flask 上运行 FlClash

在 Flask 中配置 FlClash:

from flask import Flask, render_template_string
app = Flask(__name__)
app.config['FlClash.FLCLASH_URL'] = 'http://localhost:3'
app.config['FlClash.FLCLASH_URL_BASE_URL'] = 'FlClash'
app.config['FlClash.FLCLASH_JS_URL'] = 'http://localhost:3'
if __name__ == '__main__':
    app.run()

使用示例

参考 FlClash 的示例配置,可以在网页中添加以下内容:

<!DOCTYPE html>
<html>
<head>FlClash</title>
  <script type="text/event">
    {fetch('/').then((res) => {
      const options = JSON.parse(res.json());
      console.log('FlClash version:', options);
    }).catch(err => {
      console.error('Error:', err);
    })}
  </script>
</head>
<body>
  <script src="https://cdn.jsdelivr.net/npm/FlClash@latest/dist/FlClash.min.js"></script>
</body>
</html>

使用 FlClash 作为后端工具

如果你使用的是 Flask,可以将 FlClash 设定为后端渲染工具:

if __name__ == '__main__':
    app = Flask(__name__)
    app.config['FlClash.FLCLASH_URL'] = 'http://localhost:3'
    app.config['FlClash.FLCLASH_URL_BASE_URL'] = 'FlClash'
    app.config['FlClash.FLCLASH_JS_URL'] = 'http://localhost:3'
    app.run()

扩展 FlClash

如果你有更多需求,比如支持多个语言或复杂的应用逻辑,可以考虑使用其他工具,如 Webpack、Flask 或 Leaflet,或者结合其他编辑器如 Sublime Text 或 VS Code。


常见问题与解决方案

  • 错误提示:确保配置文件正确无误,查看配置文件中的错误信息。
  • 性能问题:配置的FlClash服务器可能需要调整 port 或 URL。
  • 渲染延迟:确保配置的FlClash backend 正常运行。

FlClash 是一个基于 Webpack 的 Markdown 撰写工具,允许用户在网页上使用 Markdown 编辑,甚至在网页上运行代码。以下是 FlClash 配置指南的详细步骤和注意事项

扫码下载FANVPN

扫码下载FANVPN

0574-8716-4308
扫码下载FANVPN

扫码下载FANVPN

网站地图