技术文档工具『Writerside』抢鲜体验
前言
2023 年 10 月 16 日,JetBrains 宣布以早期访问状态推出 Writerside,基于 IntelliJ 平台的 JetBrains IDE,开发人员可使用它编写、构建、测试和发布技术文档,可以作为 JetBrains IDE 中的插件使用,也可以作为独立工具使用
Writerside 允许开发人员和编写人员在产品文档、API 参考、开发人员指南、教程和操作方法方面进行协作;基于人工智能的拼写检查和语法纠正工具支持超过 25 种语言,包括英语、德语、西班牙语和中文
云服务器部署示例文档:About TestWriterside | TestWriterside (returntmp.fun)
官网地址:Writerside - a new technical writing environment from JetBrains.

技术文档
开发者们花费大量时间编码和构建新产品、服务和技术,但所有这些代码在上线后都需要维护,在不同阶段,特别严谨的软件开发流程,需要有大量的设计文档,详细文档。即便是缺少设计文档,也要在后期有一些资料来记录它的功能以及它是如何做的
对于开发者来说,写代码是很快乐的事,但写文档属实不容易,如果不写后期会引更多不必要复杂度,文档对于开发人员的生产力和客户满意度非常重要,它可以决定产品的采用或失败
根据 GitHub 相关报告数据,通过易于理解的文档,开发人员的生产力提高了近 50%
功能
- 文档即代码管道:使用单一创作环境,免除对多种工具的需求。借助内置
Git UI、集成式构建工具、自动化测试以及现成和可自定义的布局,专注于您的内容 - 结合
Markdown和XML:现在,您可以将Markdown与语义标记的优势相结合。选择一种格式,或使用语义特性和元素、Mermaid图和LaTeX数学公式丰富Markdown - 文档质量自动化:通过编辑器中的超过
100项即时检查以及实时预览和构建期间的测试确保文档质量和完整性 - 实时预览:预览显示的文档与读者将看到的完全相同。在
IDE中预览单个页面,或在浏览器中打开整个帮助网站而不运行构建 - 单一来源:从较小的内容块到整个主题或目录部分,重用一切。灵活使用筛选器和变量。为复杂标记元素使用预定义模板,或者配置您自己的模板
REST API文档生成:创建用户文档和API参考时无需在不同工具之间跳转。现在,您可以将API文档合并到帮助网站中,以相同的布局发布,并通过手动编写的内容补充自动生成的参考
体验
安装插件
官网下载链接:下载 Writerside – 文档创作工具 (jetbrains.com)

我们可以看到目前 Writerside 可以支持 Winddows、macOS、Linux 平台,同时目前处于抢先体验计划(Early Access Program,EAP)阶段,可以免费使用,以后可能会有社区免费版和旗舰付费版
我们可以下载完整的 Writerside 独立工具,如果我们已经安装 IDEA 的话,也可以使用插件方式安装,当然插件形式可能功能会不如独立工具完整,本次将会使用 IDEA 插件形式进行评测
官方最新插件
安装插件链接:Writerside - IntelliJ IDEs Plugin | Marketplace (jetbrains.com)

之后我们点击 Get 下载插件安装包
然后按照如下步骤安装插件:
- 打开你的集成开发环境(IDE),按下Ctrl+Alt+S打开IDE设置。
- 选择 插件,点击⚙️,然后点击 从磁盘安装插件。
- 选择插件的存档文件并点击 确定。
- 如果提示,点击 确定 应用更改并重新启动你的IDE。

其中可能会因为 IDEA 版本过低而出错,直接升级 IDEA 即可,操作方法如下
点击右上角的搜索图标,输入 “Check for Updates” ,然后点击搜索到的功能,然后不断 Update 即可,最后安装完插件重启即可

内置插件市场
我们也可以直接进入 IDEA ,然后进入设置界面,然后搜索插件 Writerside,然后安装插件,更加简单快捷
注:本种方法不推荐,我们可以看到下面图片中 IDEA 官方插件市场并不是 10 月的最新插件,与最新版功能有偏差

项目体验
创建项目
注:使用插件此步骤可省略
- 从主菜单中,选择文件 | 新 | 项目。
- 在新建项目向导中,选择
Starter Project并单击Next。 - 指定新项目的名称和位置,然后单击“完成”。
创建文档
在IDEA中打开在Writerside工具窗口,打开之后有引导页,点击Add documentation按钮,然后点击 To Current Project,选择 New,然后我们添加实例名称(类似文档目录名称),之后生成即可,然后会自动生成帮助实例文档

创建主题
有了带帮助实例的文档项目之后,就可以右键目录向其中添加主题并开始编写内容,目前有5种 Markdown 主题和5种 XML 主题。
新建MD格式主题,并在其下面新建两个二级主题,左侧编写,右侧预览效果,并且可以通过拖动更改主题的层次结构。

构建网站

在Writerside工具窗口中上方有个按钮,单击”Open in Browser“或“Save as ZIP Archive”
直接本地打开网站选”Open in Browser“,文档无报错即可在浏览器中浏览文档了
如果需要发布可以选择“Save as ZIP Archive”生成压缩文件,再部署到服务器中访问
Nginx 部署
将上面的压缩包解压到服务器的目录/usr/share/nginx/writerside 中,下面是我的 nginx.conf 配置,大家可以酌情参考
server {listen 80;listen [::]:80;server_name www.returntmp.fun;root /usr/share/nginx;location ^~ / {root /usr/share/nginx/blog/dist;index index.html index.htm;try_files $uri $uri/ /index.html;}location ^~ /writerside/{index index.html index.htm;try_files $uri $uri/ /index.html;}
}
部署文档示例链接:About TestWriterside | TestWriterside (returntmp.fun)
参考链接
- Writerside-JetBrains的全新技术写作环境 - 知乎 (zhihu.com)
- JetBrains 推出 Writerside,创建技术文档的工具 - 知乎 (zhihu.com)
- 新AI工具来了!开发者再也不用写文档发愁 (21cto.com)
- JetBrains 首次推出“Writerside”:技术文档的新颖方法 | AppMaster
本文由博客一文多发平台 OpenWrite 发布!
相关文章:
技术文档工具『Writerside』抢鲜体验
前言 2023 年 10 月 16 日,JetBrains 宣布以早期访问状态推出 Writerside,基于 IntelliJ 平台的 JetBrains IDE,开发人员可使用它编写、构建、测试和发布技术文档,可以作为 JetBrains IDE 中的插件使用,也可以作为独立…...
Centos磁盘爆满_openEuler系统磁盘爆满清理方法---Linux工作笔记060
磁盘爆满,监控部门就会报警,报警就要处理,但是程序员并不擅长做运维的工作,记录一下把...以后用到会方便: 使用df -h命令可以看到,对应的磁盘占用情况,这里我的/dev/mapper/openeuler-root这个目录 占用的磁盘比较多,到了百分之95了.. 往往就是这个跟目录,我这里/data目录是自…...
dubbo启动提示端口号已经被占用
本地dubbo项目启动提示: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) at org.sp…...
LeetCode每日一题——2678. Number of Senior Citizens
文章目录 一、题目二、题解 一、题目 You are given a 0-indexed array of strings details. Each element of details provides information about a given passenger compressed into a string of length 15. The system is such that: The first ten characters consist o…...
按摩 推拿上门服务小程序源码 家政上门服务系统源码
按摩 推拿上门服务小程序源码 家政上门服务系统源码 上门服务系统是一款基于互联网和移动应用的高端家政服务预订平台,它集成了用户、服务员、客户三方的需求于一体,为广大市民提供方便、高效、安全、舒适的家居服务体验,让你在家当皇帝&…...
排列排序问题---2023 年华中科技大学程序设计竞赛新生赛
解析: 将序列分为多段,每段必须连续并且单调,输出段数-1即可 #include<bits/stdc.h> using namespace std; #define int long long const int N1e65; int n,a[N]; signed main(){scanf("%lld",&n);for(int i1;i<n;i)…...
数据恢复怎么做?记好这款堪比数据恢复专家的软件!
“我真的受够了数据总是莫名其妙丢失了!但是我的电脑知识又很有限,文件丢失后我都不知道应该采取什么方法来进行恢复。谁能给我介绍一些方法呀?” 数据丢失是一场噩梦,无论是因为误删除、硬盘损坏、病毒攻击还是其他原因。然而&am…...
远程监控高并发高吞吐java进程
文章目录 背景工具jconsole和jvisualvm 压测实战以太坊Java程序监控1.使用jconsole监控2.使用jvisualvm监控 问题分析堆内存使用异常通过调整内存策略来应对: 交易虚增问题 背景 作为使用java技术栈的金融类公司,确保Java程序在生产环境中的稳定性和性能…...
MapperStruct实现类为空
问题描述: MapperStruct生成的实现了为空 按照在MapperStruct官网Installation – MapStruct中的方法配置后,生成的实现了是空的,如下: Overridepublic DeployHistory toEntity(DeployHistoryDto arg0) {if ( arg0 null ) …...
【webpack】wabpack5 知识梳理
1、简单介绍 默认功能 可处理 js、json文件,处理 js 文件引入将其打包; 可处理字体、图片、音视频等静态资源(webpack5有内置loader:asset); 将es6的import规范编译为浏览器可识别的commonjs规范…...
ThinkPHP 3.2 常用内置函数
ThinkPHP 3.2 内置函数CDM疑问: D与M方法的相同点与不同点IAR 内置函数 C C方法是用于获取或修改,系统配置参数 语法: 获取:C(需要获得的配置参数Name) $value C(config_name);设置:C&…...
STM32F4_USB读卡器(USB_Slave)/USB U盘(Host)
前言 STM32F4芯片自带了USB OTG FS(FS,即全速,12Mbps)和USB OTG HS,支持USB Host和USB Device。 1. USB简介 USB,是英文Universal Serial BUS(通用串行总线)的缩写,是一…...
【网络安全入门】学习网络安全必须知道的100 个网络基础知识
前言 先领取资料再阅读哦 【282G】网络安全&黑客技术零基础到进阶全套学习大礼包(附面试题答案),免费分享! 【282G】网络安全&黑客技术零基础到进阶全套学习大礼包(附面试题答案),免…...
96核的AMD锐龙Threadripper PRO 7995WX性能如何?
AMD新推出的锐龙Threadripper 7000系列可以说是目前最快的工作站处理器,最顶级的锐龙Threadripper PRO 7995WX拥有96个Zen 4内核,共192线程,基础频率2.5GHz,加速频率5.15GHz,拥有384MB L3缓存和多达128条PCI-E 5.0通道…...
TS和JS的区别
1.TS和JS的区别 ts 是js的超集。 从执行环境上来看,浏览器、node.js 可以直接执行js,但不能执行ts;编译层面,Ts 有编译阶段,js 没有,只有转译阶段和lint阶段;ts更难写一点,但类型更安全。ts 代码写出来就是…...
顺序栈的实现----数据结构
栈的概念 对于栈(Stack),后进先出(Last In First Out,LIFO),栈也是一种线性表,只不过是一种操作受限的线性表,只能在一端操作,也就是不允许在中间进行查找、…...
k8s calico 网络原理
一、cluster ip Cluster IP 是 Kubernetes 中 Service 的 IP 地址,它是一个虚拟 IP 地址,用于集群内的 Pod 相互通信。 例如: Cluster IP:2.2.2.2负载的真实Pod IP:1.1.1.1 场景: Pod A 的 IP 地址是 …...
【Python学习笔记】循环
Python中有两种类型的循环: while 循环 和 for 循环 1. while 循环 while循环是: 检查一个条件表达式,只要条件表达式计算结果为True 时, 就执行下面缩进的代码。 如此反复,直到条件表达式计算结果为False时,结束 循…...
1 如何入门TensorFlow
近年来人工智能的火爆吸引了很多人,网上相关的热门课程报名的人很多,但是坚持下去的人却少。那些晦涩的原理没有一定知识的积累很难能理解。 如果你对人工智能感兴趣,且想利用人工智能去实现某项功能,而不是对人工智能本身感兴趣&…...
QTday02(常用类、UI界面下的开发、信号与槽)
今日任务 1. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"&#x…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
