Alhagi实现记录
参考资料https://spec.commonmark.org/0.31.2/
CommonMark解析策略
先将文档分解为块结构,但不解析文本,链接引用定义可以先收集起来
将标题和段落中的纯文本解析为行内元素,此时可使用之前收集好的链接引用定义
CommonMarkdown
参考资料https://spec.commonmark.org/0.31.2/
字符和行行/空行
line ending:由换行符(U+000A)和回车符(U+000D)组成,如换行不加回车,回车不加换行,以及回车跟着换行
line:0到多个字符(除line ending之外),后面跟着line ending
blank line:一个行不包含任何字符或只包含空格(U+0020)或者tab(U+0009)
特殊字符
空格:(U+0020)
tab:(U+0009)
ASCII控制字符:a character between U+0000–1F (both including) or U+007F.
ASCII标点符号:!, ", #, $, %, &, ', (, ), *, +, ,, -, ., / (U+0021–2F), :, ;, <, =, >, ?, @ (U+003A–0040), [, \, ], ^, _, ` (U+005B–0060), {, |, }, or ~ (U+007B–007E). ...
sftp服务搭建以及连接
参考资料SFTP服务器的搭建与使用_sftp服务器搭建-CSDN博客
[SFTP搭建@windows using freeSHHd&FileZilla - 零一两二三 - 博客园 (cnblogs.com)](https://www.cnblogs.com/wzs2016/p/6394990.html#:~:text=重点讲一下认证吧, freesshd支持两种方式的认证,password和public key,你可以使用其中的任意一种,也可以要求客户端同时进行两种认证,也就是说,如果两个都设置为required,客户端要想连入服务器,得同时要有密码和public key。,都设为allowed,任意一种认证都可以进入服务器。 第一种认证简单,只要在客户端输入用户名和密码就可以,第二种就需要一对密钥了(公钥和私钥,私钥客户端持有,公钥要放到服务器上,图中的public key folder就是存放各个客户端私钥对应的公钥的).)
搭建sftp服务下载freeSSHd安装,另一款常用的ftp工具filezilla的服务端并不提供sftp的功能(只有ftp和ftps)。
安装
双击 ...
powershell
Powershell后缀powershell文件后缀为*.ps1
批量重命名文件-replace可使用正则表达式
注意必须使用单引号
1234Get-ChildItem -Filter "*.txt" -File | ForEach-Object{ $newname = $_.Name -replace '-(.*)-', '$1' Rename-Item $_.FullName $newname}
统计统计行数Measure-Object -Line
1ls|findstr "cgr" |Measure-Object -Line
统计字符数Measure-Object -Character
字数Measure-Object -Word
获取文件内容Get-Content
1Get-Content .\pom.xml
发送请求1234567891011121314151617echo "mantain wifi"if ( Test-Connectio ...
cloudflare内网穿透
参考资料没有公网IP? 免费域名搭建cloudflare内网穿透,不限流量 - 哔哩哔哩 (bilibili.com)
前置
需要cloudflare账户
需要有一个在cf上托管的域名
配置Tunnel进入首页的Zero Trust,(随便)取一个组织名,选择免费的服务,到选择付款方式时,返回cloudflare首页,重新进入Zero Trust(免的添加付款方式),找到左侧Network下的Tunnels,进入Add一个Tunnel,选择Cloudflare(另一个是WARP),取一个名字,接着下载要穿透的系统的版本。
wifi棒子穿透穿透Wifi棒子时,选择debian arm64的版本,下面会展示下载以及安装启动命令,由于网络的问题,可以先用迅雷云盘下载好安装包,传到wifi棒子上,再执行下面的安装与启动命令,启动成功后(启动时可能会报错,但以服务运行状态以及当前页面显示为准),当前页面下方会显示有连接的系统。
配置域名点击下一步后,进入域名与映射的配置
配置成功后点击保存。
连接测试本地启动一个网络服务后,访问上方配置的域名查看是否能够访问到。
vbs脚本
使用vbs批量替换文件内容其中使用到了正则表达式进行搜索
123456789101112131415161718192021222324252627282930313233343536Const ForReading = 1Const ForWriting = 2Set objFSO = CreateObject("Scripting.FileSystemObject")Set folder = objFSO.GetFolder("E:\test\vbtest\testdir")i = 0for each file in folder.Filesif lcase(objFSO.getExtensionName(file.path))="xml" theni=i+1Set objFile = objFSO.OpenTextFile(file.path, ForReading)strOriginal = "<a>[^<]*</a>"strReplacement = "&l ...
markdown规范教程
参考资料Markdown 官方教程https://ld246.com/article/1579414663700)
标题标题为在段落开头添加#标记,在跟一个空格后添加标题内容,映射成html后,会转为h标签包裹的元素,最多支持到6级标题。
123456= markdown =# 一级标题## 二级标题= html =<h1>一级标题</h1><h2>二级标题</h2>
段落段落在html中是被<p></p>标签包裹的内容,在markdown中,使用一个空行分隔开两段文本会生成这种段落结构(也就是需要敲两次回车)。
1234567= markdown =这是第一个自然段这是第二个自然段= html =<p>这是第一个自然段</p><p>这是第二个自然段</p>
换行对应html中的<br />标签,标准的换行语法是在需要换行的地方添加两个空格然后再加一个回车,不清楚为什么不能直接回车,typora官方的建议是,尽量少用换行结构或者不用,如果需要用的话,建 ...
md编辑器相关技术记录
参考资料从零开始写一个富文本编辑器(一) - 掘金 (juejin.cn)
十分钟实现自己的Typora - 掘金 (juejin.cn)
Selection - Web API | MDN (mozilla.org)
Vditor 实现 Markdown 所见即所得 - 链滴 (ld246.com)
关于所见即所得 Markdown 编辑器的讨论 - 链滴 (ld246.com)
剪贴板操作 Clipboard API 教程 - 阮一峰的网络日志 (ruanyifeng.com)
https://spec.commonmark.org/0.31.2
SelectionSelection中存储用户选择的文本范围或者插入符号的位置,获取方式:window.getSelection()
在不可编辑元素中,插入点位置和选区范围必须通过鼠标的点击或者拖拽产生,在可编辑元素中,插入点位置和选取范围也可以通过键盘方向键变化。
可通过window.getSelection().toString()获取被选中的文字
Range可通过selection.getRangeAt获取
Range.commo ...
扫描枪接入前端
参考资料B8DDFFC785FF7F57091E2CD5EC7FD5AF.pdf (manuallib.com)
HID 简介 - USB中文网 (usbzh.com)
配置条形码扫描仪 - UWP applications | Microsoft Learn
HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型
HID-KBW:键盘 wedge 模式,允许你将条形码扫描到无法感知条形码扫描仪的应用程序(如记事本)。 在此模式下扫描条形码时,条形码扫描仪的解码数据将插入插入点,就像使用键盘键入数据一样。
HID-POS:貌似是可以双向通信的协议
OH340相关功能记录
可启用USB HID功能
可修改访问HID设备频率
有KPW和POS两种模式切换,默认KPW
可设置输入时大写锁定(CapsLock)的状态,默认关闭
可设置前导键,前导键默认关闭,键值为ctrl+shift+r,启用后在每次扫描后输入内容前会先输出前导键
默认会在扫描结束后再解码数据后添加结束符CR,此外可选择关闭、TAB、CRLF
启用设置需要读取开启设置码, ...
Elasticsearch
参考资料Download Elasticsearch | Elastic
配置windows下直接启动bin\elasticsearch.bat后无法访问(hang up),经验证,需要先将配置文件中的xpack.security.enabled: true改为xpack.security.enabled: false。
启动运行bin\elasticsearch.bat后,访问http://localhost:9200/
显示内容如下,即为启动成功
1234567891011121314151617{ "name": "....", "cluster_name": "elasticsearch", "cluster_uuid": ".....", "version": { "number": "8.14.3", "build_flavor": &q ...