13.Hexo Plugins插件及将网站上传到互联网

【Claude Code · VibeCoding】03|环境:Git 与 Node.js 安装 本地先装好 Git 与 Node.js,后面才能装 Claude Code CLI。按课件截图完成安装与版本检查。 阅读详情

Plugins

有些想要实现的操作Hexo实现不了,这时就可以使用插件
插件一般都是可以下载的代码片段,可以附加到Hexo上
添加了一些功能或一些额外的东西
Plugins | Hexo
在官方页面,有471个插件,并附加了一些描述
点击一个插件时,会跳转到github仓库

通常这些插件都有安装说明
可能会使用npm

如果找到了想要使用的插件,打开终端
通过
![[Pasted image 20240421152349.png]]

输入安装指南的内容来下载安装

当安装下载完毕后,可以打开package.json文件来检查
在dependencies项中,里面是否添加了刚刚安装的插件
![[Pasted image 20240421152517.png]]

如何将Hexo网站托管到互联网上

在Hexo网站生成页面
![[Pasted image 20240421152830.png]]

现在又两个博客文章,一个页面,一个自定义主题
一旦完成了主题的创建,创建了要创建的所有文件,如何获取这些信息并将它们构建到一个网站当中
只要运行

hexo server

这样就可以看到网站托管在Web服务器上
如何不使用Hexo服务器命令做到这一点
如果想要将Hexo文件上传到在线托管的Web服务器,并且能够在一个文件夹中生成所有的这些文件,将他们放入FTP程序中,将它们上传到互联网
可以通过

hexo generate

Hexo会获取网站上的所有帖子,所有的页面布局和模板,将它们组合到一起形成一个最终的网站
运行这条命令之后
![[Pasted image 20240421153603.png]]

会创建一个叫public的新文件夹,就是网站的源代码
是运行网站所需的所有静态文件
在这里md文件会转换成html文件
这样就创建了一个非常简单的网站

如果网站上有更多的页面和资源,这个public文件夹会变得更加复杂
public里的都是托管网站所需要的文件
如果将这些文件放到Web服务器上,将会显示Hexo网站

CAN总线错误帧全解析:从数据包到硬件层的故障树分析 本文深入解析CAN总线错误帧的故障树分析方法,从数据包到硬件层全面剖析错误机制。通过物理层信号测试、数据链路层错误解码和应用层协议排查,提供系统化的诊断框架。结合CANoe配置和示波器波形分析,帮助工程师快速定位总线故障,提升系统可靠性。 阅读详情

相关推荐

第十五届蓝桥杯省赛C/C++B组H题【拔河】题解(AC)

由于枚举三个点肯定会超时,所以只能枚举两个点,我们尝试枚举第一个区间。的复杂度,需要找出右区间中和左区间的和最相近的值,可以考虑使用。一开始,我们将所有可能的右区间的区间和,都插入。做法同上,用前缀和优化数组求和的过程。的数组和差值最小是多少,其中。递增进行枚举左区间,当。的数组,求两个子数组。为左端点的区间的和。

一只大采集~ 5283

让 AI 替我操作这台电脑,先把手能伸多远定下来

早上坐到工位,才想起昨天那份表格还在家里的机器上。这种时候以前只有两条路,开远程桌面自己点,或者等晚上回去。热榜上那篇 OpenClaw 的实测文我看了两遍。它换掉的是这条路。在 Windows 上装一个网关,把飞书、钉钉、Telegram 这些入口接进来,模型听懂你那句话,网关在本机上真的动手。装 Node 22 和 Git,跑一条,选一个 OpenAI 兼容的供应商把 base url 和 key 填上,再接远程访问,手机发一句话,家里那台电脑就开始干活。那篇文把部署讲了很细,截图一步一步都有。

m0_58155849的博客 367

西门子840D新建项目

1、需要一个32位的WIN7或者XP系统,并且已经在系统中安装完成西门子840Dsl开发包和VS2008。(我采用的是XP系统虚拟机) 2、在开始->所有程序找到如下位置 3、在这个位置打开Visual Studio 4、文件->新建->项目 名称和位置都可以随意更改,点击确定。 5、在左侧选择第二个选项进入下面的界面 点击“Add Screen”按钮 可以修改“class name”然后点击“OK”返回上一个界面,再点击“Add Form” 可以修...

qq_36987047的博客 1861

[LLM Wiki理论与实践-05]解读OpenWiki的Personal模式构建的知识库目录结构

[LLM Wiki理论与实践-04:使用OpenWiki的Personal模式构建知识库]介绍了如何执行安装OpenWiki和通过执行`openwiki personal --init`命令以个人模式进行初始化,最终调用`openwiki personal --update`和`openwiki ingest`命令利用配置的Connector加载外部数据源来生成构建个人知识库的Wiki页。这篇文章我们就来看看采用OpenWiki的Personal模式构建的知识库对应目录的结构以及具体文件的内容。

JaydenAI的博客 311

NUS-WIDE-10K数据集制作

NUS-WIDE是一个多标签数据集,数据集中一共包含26,9648个样本,可以分为81个类。最近在做跨模态检索项目,发现有很多论文里面都用到了NUS-WIDE-10K数据集,但是在网上也没有搜索到相关的数据集下载链接或者是数据集制作代码,所以自己动手写了一个NUS-WIDE-10K数据集的制作代码。 1.介绍 我在网上找到的最早关于NUS-WIDE-10K数据集描述的论文是:Cross-modal Retrieval with Correspondence Autoencoder。描述如下:作者选择了N

weixin_44012382的博客 4200

避坑指南:在Ubuntu 22.04上配置UR5e与ROS2 Humble真机通信的完整流程

本文详细介绍了在Ubuntu 22.04上配置UR5e机械臂与ROS2 Humble真机通信的完整流程,包括环境准备、网络配置、URCap安装、ROS2驱动部署及控制器状态验证等关键步骤。特别针对常见问题如网络连接失败、驱动启动错误等提供了实用解决方案,帮助工程师高效完成UR5e与ROS2的集成工作。

weixin_30790841的博客 463

AI行业日报|2026-11-03:5个热点事件

本期内容覆盖基础模型安全边界演进、数据版权合规诉讼、预测型世界模型架构、AI原生工程基础设施升级及自动化代码审查链路优化。以下信息严格依据公开技术报告与权威媒体披露整理,已按证据来源逐条锚定,未经验证的具体实现细节均已归入架构建议区块,供工程团队对照实施。 Anthropic 发布技术预警,指出其当前模型训练循环已非常接近递归自我改进(Recursive Self-Improvement, RSI)阈值,即行业内所称的“自主构建AI”状态 1 。RSI 指代模型在训练与...

2504_94201249的博客 228

组态王的日历时间控件脚本

日期时间控件中的脚本中在小于10的月份和天数前必须要加上0,这是由首字符对比机制规定的,首字母相同,就不再不做对比了,比如1和11,是一样的。首字母不同,再比较下一位。 float Ayear1; float Amonth1; float Aday1; string temp1; Ayear1=sd.Year; Amonth1=sd.Month; Aday1=sd.Day; temp1=StrFromInt( Ayear1, 10 ); if(Amonth1<10) temp1=temp1+"-0"+

逍遥子的博客 5717

自建 Git 服务器和裸仓库差在哪:要能提合并请求

在一台 Linux 上 git init --bare 就能自建 Git 服务器,但它只能推拉代码,没有网页、合并请求、评审和按仓库分配的权限。对照裸仓库和 AngusGit 各自能做什么,再走一遍在 AngusGit 上发起合并请求的最短路径,以及已有裸仓库怎么完整搬过来。

AngusTester 320

最新Python爬虫实战(入门爬虫篇)——案例3:爬取二次元cos图片批量下载到本地(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了二次元图片的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖“请求列表页→提取详情页URL→请求详情页→提取图片链接→保存图片”的完整流程,与豆瓣案例的核心逻辑和格式完全对齐。学习重点包括:抓包工具定位多层级数据源、正则表达式匹配复杂链接、模拟请求头绕过反爬机制、文件名安全处理及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践,帮助学习者掌握多层级页面爬取的核心逻辑。

努力让自己发光,对的人才能迎着光而来 14万+

9篇3章7节:基于 R 语言的 FAERS 数据提取与合并

本文主要探讨了 FAERS 数据提取与合并的操作流程。首先,通过程序化方法从本地存储的 FAERS ASCII 文件中提取指定季度或范围内的单药报告数据,并可通过参数设置控制数据存储位置、处理方式、计算资源分配以及报告者职业类别等。随后,通过批量读取的方式对多个季度的 DRUG 文件进行循环处理,并将其合并为一个综合数据框。

MD Code 1262

【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore

本文系统讲解Git中撤销与恢复的核心命令,重点对比git checkout与新命令git restore的使用场景。针对“改错、add错、提交错”等常见问题,提供清晰解决方案:未暂存修改用git restore <file>,误暂存用git restore --staged,历史版本恢复用--source。强调git restore语义更清晰,推荐优先使用。同时提醒撤销操作不可逆,建议先git status、git diff确认,不确定时用git stash保底。最后总结速查表,帮助初学者安全高

m0_67393827的博客 462

OCR文字识别领域经典论文总结

本篇将介绍文字识别经典论文,内容包括文字检测、文字识别、端到端识别等方法,具体将分别对论文算法简介、思路、代码等几个部分展开介绍。目前各部分只举例经典论文,算法没有全部写完,后续会将在此部分基础上更新更多论文综述及代码实战部分。.................................

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

重装 openvino、yaml-cpp

【代码】重装 yaml-cpp。

u010948546的博客 217

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Git 新手使用教程

面向零基础用户的 Git 入门指南:从安装到日常使用,覆盖 90% 的常见场景。

Jerry小杰 229

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Claude Code做Unity项目移植(三): 使用SKILL进行自动化Git提交

本文介绍基于ClaudeCodeSkill的Unity自动化Git提交助手——unity-git-commit,通过四大模块实现提交前的智能检查与安全修复:1)校验Git仓库状态;2)验证Unity项目文件(如排除Library/Temp,确保.meta文件完整);3)依据可配置的C#命名规范自动识别并安全修复命名问题(避免序列化、反射等高危场景误改);4)生成精准提交注释,但强制人工确认。全程仅本地commit,不自动推送或破坏性操作,保障安全。核心思想为“机械化工作交AI,关键决策留人工”,显著提升提交

Aman1984的博客 643

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【Git】从入门到精通(九)—— git diff:查看文件差异

本文全面解析Git的gitdiff命令,详解其三大核心场景:工作区vs暂存区、暂存区vs版本库、工作区vs版本库,涵盖输出格式、常用选项(如--stat、--name-only、-w)、版本比较、文件差异及外部工具集成。通过实战案例演示代码审查、提交自查、调试定位等应用场景,强调gitdiff--staged作为提交前检查的关键作用,并总结记忆口诀与常见问题解决方案,助力开发者精准掌握代码变更细节。

m0_67393827的博客 283

中国 DevSecOps 领导者:Gitee 在金融级研发平台中的实践与定位

在 DevSecOps 语境下,领导者通常指在代码托管、持续集成、安全测试左移与研发流程治理四个环节中,能提供一体化平台能力并在关键行业形成规模化落地的服务商。据 Gitee 内部产品资料,Gitee 将 DevSecOps 敏捷安全列为技术应用场景之一,并配套 AST 全流程安全测试与开源风险治理能力。评估这类平台时,技术决策者应重点关注五个维度:私有化部署能力、信创兼容性、金融级客户案例、历史数据迁移路径、以及与现有身份认证体系的集成深度。

2602_96414767的博客 226

Hive的多机 AI Agent 协同看板实战:跨机留言、任务搁置、计划跟踪的三个设计取舍

本文介绍多机AI Agent协同系统Hive的三项关键设计取舍:跨机留言采用内存+本地文件存储,避免Git版本冲突与延迟;搁置状态主动释放资源并保留历史,通过按钮而非新增列管理,保持看板简洁;任务计划以Tab形式聚合任务,实现项目级进度追踪。核心原则是“能用文件解决就不加数据库,能复用界面就不新增层级”,所有功能均在零依赖前提下实现高可用与易用性。附带一次/api/plans 404排查,揭示了配置与路由匹配的深层陷阱,具有普遍参考价值。

skywalk8163的专栏 533

WSL 中 Git Clone GitHub 仓库完整踩坑指南

问题最佳解法WSL 证书验证失败或重装 ca-certificates22 端口超时SSH 走缺少密钥+ 添加到 GitHub权限过宽被拒Gitee 认证失败使用 PAT 替代密码 + 清除凭据缓存--system权限拒绝改用--global或--local作用域一条黄金建议:在 WSL 中访问 GitHub,优先使用 SSH over 443。一次配置,永久解决证书、端口、认证三重问题,比 HTTPS 方式稳定得多。

dingyuana的专栏 354

热榜上手|HyperFrames:写HTML出MP4

HeyGen 开源的 TypeScript 视频框架:把 HTML、CSS 动画直接渲染成确定性 MP4,专为 AI agent 批量出片设计,单周涨 5633 star。

mihuyang的博客 259

【Git】从入门到精通(十三)—— .gitignore:忽略不需要追踪的文件

.gitignore是项目管理中不可或缺的配置文件,用于排除编译产物、依赖目录、日志、密钥等不应纳入版本控制的文件,防止仓库臃肿与安全泄露。其语法包括通配符*、**跨目录匹配、!取反规则及路径前缀/,支持全局忽略(core.excludesfile)与局部覆盖。关键点:.gitignore仅对未追踪文件生效,已提交文件需用git rm --cached移除追踪。推荐以GitHub官方模板为基础,结合项目实际定制,并配合git check-ignore -v排查问题。保持.gitignore提交共享,确保团队

m0_67393827的博客 220

Git Tag 与分支:从“从属关系”到版本溯源

在 Git 中,Tag 与分支无“从属”关系,二者均为指向提交的指针,但 Tag 固定不变,分支可移动。因此,“Tag 属于哪个分支”是错误提问。真正有用的问题是:哪些分支包含该 Tag 所指向的提交? 可用 git branch -a --contains <tag> 查询。创建发布标签应使用附注标签(-a),并记录上下文信息。理解这一模型,有助于避免版本管理中的误解,确保协作清晰可靠。

tianyuanwo的专栏 130

【Git】第3期 多人协作与企业级开发规范详解

【Git】第3期 多人协作与企业级开发规范详解

2501_93298789的博客 187

活动回顾 | AtomGit × 模力无限 AI Meetup 珠海第一颗星,点亮了

有人往商业场景多走一步:小程序「铸履」首页写着「为你的脚,定制一双鞋」,3D 打印、一人一版,底下挂着 AI 试穿和健康档案。(中山市湖银人工智能科技有限公司 CEO、澳门科技出版社 AI 发展部副主任)讲《如何使用 AI 进行创业:AI 浪潮之下,如何一人成军》,把「一人成军」拆成十章:AI 是超级学习机、是放大工具、也能帮你创造新工具,最后串起学习、生产、销售、分析、优化的五维闭环。四个小时里,四场分享、一场一小时的工作坊、十个 Demo、五位上台的小伙伴,和一次全场投票。这一次,两家把坐标落在珠海。

白天写代码,晚上追AI大模型,偶尔搞点八卦 开源动态|技术干货|实习机会|生态活动 我负责分享,你负责变强 215

不依赖 Git 组件,原生 JS 实现仓库拉取、推送等操作

很多业务场景会遇到一个痛点:环境不能部署 Git、不能执行 shell 命令、也不能引入这类 Git 组件库。比如一些封闭的后台系统、在线预览平台、沙箱环境,我们只想做到:读取远程仓库里的文件列表、拿到文件内容,而不是完整跑一套 Git。很多人第一反应:Git 操作必须要有 Git 环境或者 Git JS 库?其实不是。Gitee、GitHub 都开放了 REST HTTP 接口,我们可以直接发网络请求和仓库服务通信。。适合场景:在线读取配置文件、在线编辑单文件提交、简单文档托管;

2603_95923710的博客 177
上一篇: 12.Hexo helpers类似函数和data folder数据文件夹
下一篇: 10.Godot Input与自定义单例的使用
ChoSeitaku
博客等级 码龄5年 3452粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值