有没有HarmonyOS鸿蒙Next可以生成Markdown的快捷方式

有没有HarmonyOS鸿蒙Next可以生成Markdown的快捷方式 我想实现一个功能,传入一些什么文本内容来生成一个markdown,有相关生成markdown的接口嘛

7 回复

开发者您好,您可以通过如下方法创建.md文件。

示例代码如下:

import { systemDateTime } from '@kit.BasicServicesKit';
import { fileIo as fs } from '@kit.CoreFileKit';

@Entry
@Component
struct Index {
  @State message: string = '';

  build() {
    Column({ space: 30 }) {
      Text(`当前test.md为文件的内容是:${this.message}`) // 展示文件内容
        .fontSize(30)
      Button('追加文本')
        .onClick(() => {
          let context = this.getUIContext().getHostContext() as Context;
          let filePath = context.cacheDir + '/test.md'; // 获取文件路径
          let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.APPEND | fs.OpenMode.CREATE); // 设置以追加方式打开文件
          let str = systemDateTime.getTime().toString() + ","; // 获取当前时间作为写入文件的内容
          let writeLen = fs.writeSync(file.fd, str); // 向文件内写入内容,返回值为写入内容的长度
          console.log(`writeLen:${writeLen}`);
          fs.closeSync(file); // 关闭文件
          this.message = fs.readTextSync(filePath); // 读取文件内容
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}

可以使用三方库[@lidary/markdown](https://ohpm.openharmony.cn/#/cn/detail/@lidary%2Fmarkdown)加载渲染Markdown文本,

如果还是不能满足您的需求,请问您是在什么样的业务场景中使用该能力,交互流程是怎样的,在哪一个环节遇到了问题?方便说明能力不满足可能带来的影响:什么时间用到?是否高频?有无三方库可以做到?若提供该能力,是否会造成大工作量返工?请您注意提供的内容不要包含您或第三方的非公开信息,如给您带来不便,敬请谅解。

更多关于有没有HarmonyOS鸿蒙Next可以生成Markdown的快捷方式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以接入三方库的组件,适配得很不错

ohpm install @luvi/lv-markdown-in

cke_474.png

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

我看过了,这个是渲染Markdown文件的组件吧,能编辑markdown文件吗,就是想要生成Markdown文件而且还能编辑,有相关组件或者接口吗,还是要我自己实现,

推荐使用第三方开源库:lv-markdown-in

鸿蒙原生 Markdown 解析与渲染三方库,一款专为 OpenHarmonyHarmonyOS 系统设计的原生 Markdown 渲染解决方案。让 Markdown 内容在界面中拥有更平滑的性能表现与更统一的视觉体验。

该库以高性能与原生体验为核心,支持数学公式本地渲染,提供 30+ 可定制样式 API,助力开发者灵活定义 Markdown 内容的视觉风格与交互体验。从基础文本排版到复杂组件布局,都能精确适配系统特性。

充分结合鸿蒙资源机制,支持 三种内容加载模式

  • 纯文本加载:适用于动态内容;
  • 资源文件加载:便于内置模板与预设内容展示;
  • 沙箱文件加载:保障用户内容安全与私有化存储。

适配 $rawfile 原生资源图片加载能力 ,并支持 html常用标签解析图片加载代理,兼顾 Markdown 与富文本场景的灵活性。

注:因隐私政策调整,从 v3.1.0 版本开始,移除原有代码块的复制文本到剪贴板的能力,请通过 MarkdownController.setCodeCopyListener() 接口注册代码块复制监听,并自行调用 pasteboard 系统接口实现代码块的复制处理逻辑。

lv-markdown-in 目前支持

基本语法 拓展语法
标题 数学公式
段落 表格
换行 代码块
强调(粗体、斜体、粗斜体) 脚注
引用块 任务列表
列表 删除线
代码 支持html常用标签解析
分割线
链接
图片

使用方式:

1.运行命令

ohpm install @luvi/lv-markdown-in

2.在项目中引入插件

import { Markdown } from @luvi/lv-markdown-in

3.在代码中使用

Markdown({ text: "想让文字像在原生世界里呼吸,就得从**渲染**开始" })

cke_8849.png

项目地址:https://gitee.com/luvi/lv-markdown-in

HarmonyOS Next支持通过系统服务或应用API生成Markdown内容。开发者可使用ArkTS调用相关系统能力,如文件管理或剪贴板接口,实现Markdown格式文本的创建与导出。部分内置应用或第三方工具可能提供快捷操作,但需适配具体应用功能。

在HarmonyOS Next中,目前没有直接提供将任意文本内容转换为Markdown格式的专用API或快捷方式。

如果您需要在应用中生成Markdown内容,建议采用以下方式实现:

  1. 使用第三方库:可以集成适用于ArkTS/JavaScript的Markdown生成库(例如某些开源的JavaScript转换库),在应用内进行文本处理和格式转换。

  2. 自定义实现:根据您的具体需求,定义好Markdown的生成规则(如标题、列表、代码块等),然后通过字符串拼接或模板的方式,将传入的文本内容组装成符合Markdown语法的字符串。

  3. 利用现有工具链:如果是在开发阶段,可以使用外部的Markdown编辑器或脚本工具生成.md文件,再将其作为资源引入到HarmonyOS应用项目中。

由于系统未内置此功能,需要开发者自行实现文本到Markdown的转换逻辑。

回到顶部