给大家推荐一个代码高亮显示的东东,直接使用一个 JavaScript 库 —— Prism 是一款轻量、可扩展的代码语法高亮库,使用现代化的 Web 标准构建。 为什么选择 Prism.js ? 极致易用引用 prism.css 和 prism.js,使用合适的 HTML5 标签(code.language-xxxx),搞定!天生伶俐语言的 CSS 类是可继承的,所以你只需定义一次就能应用到多个代码片段。轻如鸿毛代码压缩后只有 1.6KB。每添加一个语言平均增加 0.3-0.5KB,主题在 1KB 左右
如果我们是站长相关的网站博客,如果需要引用一些脚本代码的时候一般看到的都是代码高亮效果,这样的用户体验更好一些。我们要实现代码高亮的方法有很多中,比如WordPress也有代码高亮插件或者是手动实现CSS样式来实现代码高亮。在这篇文章中老蒋要分享的是Prism.js小工具可以实现页面的代码高亮效果。
在hexo框架中使用3-hexo主题时,会遇到这样一个问题:在markdown中嵌入html代码,这些嵌入的html代码无法正常显示。
MutationObserver 是一个内建对象,它观察 DOM 元素,并在检测到更改时触发回调。
在做独立博客的时候,特别是对于程序员来说,代码高亮是很重要的一个组件。我也接触过几款不同的代码高亮引擎。衡量一个高亮引擎的好坏有很多不同的方面:分词、性能、稳定性、主题丰富性。本文将专注分词的表现,对几款流行的高亮引擎以及 IDE 做一个横向对比。
CodeHighlighter插件是一款基于prismjs的代码语法高亮typecho插件,支持众多常见的代码语言高亮显示,官方提供8种代码高亮风格自由切换,支持显示代码语言类型、行号,以及支持复制代码到剪切板功能。
代码高亮的程序或者 WordPress 插件有很多,但是在碰到 Prism 之前,我爱水煮鱼都没有使用代码高亮的程序,就是因为以前的那些代码高亮的程序或者插件太臃肿或者复杂,使用起来不方便。那么 Prism 有哪些地方吸引了我呢?
Prism是一款非常好用的前端代码高亮插件,很多开发者搭建的文章、博客分享网站中都使用到了prism.js来做代码高亮,但是在官网的下载网站选完了主题和插件后却犯了难:如果选择语言包,如果全选那么体积将近600kb如果选少了害怕以后不够用,还要来补。其次,基本上只有语言包支持Node.js环境,插件基本都是基于DOM实现没有对Node.js环境进行兼容。于是有了一个想法:通过API接口将语言包动态返回,根据前端传来的参数,主题+语言包+插件拼接后返回给前端的script和link标签。
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。
昨天发了一篇介绍这个库:C# Blazor中显示Markdown文件,介绍怎么在Blazor中显示Markdown内容的文章,文章内的代码是没有高亮的,思来相去,还是要做好,于是百度到这篇文章.NET C# Blazor 服务端渲染Markdown,现在渲染效果如下:
之前发过文章说过:使用 Prism.js 实现漂亮的代码语法高亮,本博客也使用的是它
Jekyll 是一款采用 Ruby 语言编写的、非常方便简单又功能强大的静态站点生成器,适合于搭建个人博客、静态网站等。我们知道,Github Page 默认支持的也是 Jekyll,而非 Hexo、Hugo等静态站点生成器。Hexo 是用 NodeJS 语言编写的,Hugo 是用 Go 语言编写的,它们三者背后其实都有非常丰富的插件来增强它们自身,从而为用户提供一个可插拔式的个人定制功能。由于本站目前是采用 Jekyll 来搭建的,所以为了提供给读者更加高效的阅读条件,笔者在廖柯杰大佬开发的 H2O 主题的基础上做了一些功能上的增加和优化,接下来就来详细介绍一下。
因为 django-ckeditor-5 里面默认是没有可以选择语言代码块插件的,所以我们需要自己定制这个插件,定制之前我们首先去 GitHub 把 django-ckeditor-5 下载下来,下面直接给出 GitHub 的项目地址:
有搭建博客这个想法的原因是看到室友搭的博客,感觉很不错,暑假了也得搞点事情,于是就参考了室友的博客,查了不少教程学着自己也搭一个。
Typecho是一款由国人开发的博客程序,它的特点是简洁小巧,扩展性强,并且内置支持Markdown语法写作,因而很受技术博客作者的欢迎。但是默认的Typecho没有自带语法高亮,要实现语法高亮就要使用Typecho相应的插件,而Typecho的插件安装和调试都比较难,这里就将介绍一种不使用插件来实现几乎所有语言的语法高亮的方法。
一般来说,在html页面底部 (也就是</body>之前)引入JavaScript,如jQuery 和 jQuery插件是个不错的做法。原因很简单,HTTP / 1.1规范表明浏览器不能并行下载两个以上的组件。
最初使用的若依自带的quill,刚开始使用就会有些卡顿,刚开始还不太在意,后来慢慢发现确实不爽,嵌入代码块时还会卡死浏览器,之后思考许久决定换一个文本编辑器。
打开 babel.config.js ,在module.exports中的plugins添加以下配置,如果原本没有plugins可以手动添加
prismjs漂亮的代码语法高亮插件 极致易用:引用 prism.css 和 prism.js,使用合适的 HTML5 标签(code.language-xxxx),搞定! 天生伶俐:语言的 CSS 类是可继承的,所以你只需定义一次就能应用到多个代码片段。 轻如鸿毛:代码压缩后只有 1.6KB。每添加一个语言平均增加 0.3-0.5KB,主题在 1KB 左右。 快如闪电:如果可能,支持通过 Web Workers 实现并行。 轻松扩展:定义新语言或扩展现有语法,或者新增功能都非常简单。 丰富样式:所有
当你在局部刷新肯定是把html在通过ID定位覆盖,你只要把代码高亮的执行直接写在这个局部刷新的html下面即可
一款在线的 Markdown 阅读器,主要用来展示 Markdown 内容。支持 HTML 导出,同时可以方便的添加扩展功能。在这个阅读器的基础又做了一款在线 Github Pages 页面生成器,可以方便的生成不同主题风格的 GitHub Page 页面。
* https://blog.csdn.net/qq_38504396/article/details/79835475 *
Pjax(InstantClick)一般需要重载的函数,希望这篇文章能让大家少浪费点时间
在 Python 中进行代码语法高亮有几种常见的工具库和方法。这些工具库可以根据需求和使用场景选择适合的:
即使在 WordPress 5 启用新的 Gutenberg 编辑器之后,很多 Markdown 的插件都失效了。因为不支援到最新的 WordPress 5。
在某些场景下,我们希望能监视 DOM 树的变动,然后做一些相关的操作。比如监听元素被插入 DOM 或从 DOM 树中移除,然后添加相应的动画效果。或者在富文本编辑器中输入特殊的符号,如 # 或 @ 符号时自动高亮后面的内容等。要实现这些功能,我们就可以考虑使用 MutationObserver API,接下来阿宝哥将带大家一起来探索 MutationObserver API 所提供的强大能力。
Gravity 主题的灵感源自 spring.io 官网。Gravity 是一款专为技术写作型博客而打造的,适用于 Halo 平台的原创主题。Gravity 主题的设计沉稳而有力,没有过多的复杂的元素在内,这不仅使读者阅读文章时能有更好的体验,也能使撰写者创作出更好的wenzhang内容。
整理 | 冬梅、核子可乐 到底选 Vue 3 还是 Svelte? 架构选型问题是每位 Web 开发人员都绕不开的一道难关。 架构是整个 IT 系统的根基,一个错误的选型,可能造成巨大的财务、人力损失。现在随着各种新应用的崛起,到底是选择 Bootstrap、Angular、React、Vue 还是 Svelte,让开发人员很犯难。而且随着 Vue 3 发布、Vue 2 即将停止维护,不少企业开始考虑升级问题,其中不止一家企业选择从 Vue 迁移到了 Svelte,并对 Svelte 的性能表示满意。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
除了 REST 以外,很多 API 都开始支持 GraphQL,甚至完全支持它了。但是,如果你需要使用一个 GraphQL API,你很自然就会想到自己需要使用 React 和 / 或其他一些库才能让它跑起来。这是因为许多教程和示例代码似乎都基于这样一个假设,也就是说如果你在使用 GraphQL,就需要使用这些库。
pjax(InstantClick)一般需要重载的函数,希望这篇文章能让大家少浪费点时间
今天尝试了下WPF混合Blazor开发,感觉不错,顺便把测试的程序简单分享下:WPF混合Blazor开发的一个简易对话程序。
年后换工作,一直不稳定,我就没有正式写过程序,博客也荒芜了。最近才正式接手工作,遇到很多奇葩的领导,总有很多奇葩的想法和理念。比如不让用jquery,不过要求兼容ie11和chrome ff,就行。放弃jquery开始感觉很难,写了两天,也还行。我先用jquery实现的功能,然后替换里面几个方法即可 ,无非就是查找,添加class等!
一为博客作者写的一款代码高亮插件,使用的是 prism.js 的方案。插件支持经典编辑器和古腾堡区块编辑器。如果给我一个选择它的理由,就是使用比较轻量和简单,省去了很多自己部署的工作。
Blazor 是一个可是使用 .NET/C# 来编写交互式客户端的 Web UI 框架,在官网有一句话概括 “Build client web apps with C#”。在 Blazor 里面有三个比较重要的概念:
本文演示如何在WPF[1]中使用Blazor[2]开发漂亮的UI,为客户端开发注入新活力。
一款简约的单栏 Typecho 主题,极致简洁的风格,博主写了好久,憋出来的,有问题可以评论留言,也可以提 issues
正如大家所知,Jekyll 是一款高可定制的、非常流行的静态博客生成工具。围绕着 Jekyll 也衍生出了很多优秀的 Jekyll 主题, 由 廖柯宇 开发的 H2O 主题就是其中之一。极简主义、风格扁平化、卡片式布局、Medium 及知乎专栏的视觉风格等等特点,为我们带来了或许是迄今为止最漂亮的 Jekyll 主题。
因为咱们的MongoDB入门到实战教程Web端准备使用Blazor来作为前端展示UI,本篇文章主要是介绍Blazor是一个怎样的Web UI框架,其优势和特点在哪?并带你快速入门上手ASP.NET Core Blazor(当然这个前提是你要有一定的C#编程基础的情况,假如你完全没有接触过C#的话建议你先从基本语法学起)。
那天看233网课,讲的我巨困,然后就去躺尸了,本来打算睡半个点,后来成功从1点睡到了6点,一整个下午就荒废掉了。然后从那天开始进入到了一个可怕的懒癌晚期循环中,每天都在刷视频,逛贴吧。直到前几天想做个人了,拿出操作系统的书,但是我看了十几分钟又看不下去了,心想着不行,要找个东西激励一下,我就想到了用博客记录学习情况。
笔者对网站的认知为前端、后端及数据库,使用者在浏览器页面按下按钮或是表单请求,触发前端事件,将收集起来的条件打包送往后端,后端接收条件后去数据库据此处理判断,捞出使用者想要的数据后,后端将页面、数据回传给前端,前端再将相应数据呈现在页面上,这就是最原始的前后端交流。
Blazor是Microsoft团队开发的单页面应用程序(SPA)框架,它是与React,Angular和Vue.js有相同之处,但是它使用的是C#而不是JavaScript。它将C#带入SPA领域,并向传统的Web应用程序框架(如ASP .NET Web窗体和ASP .NET Core MVC)挑战,来构建Web应用程序。本文讨论了SPA和传统Web应用程序之间的选择,并说明了服务器端渲染和客户端渲染之间的区别。
.NET 5 正式发布已经有一段时间了,其中 Blazor 技术是该版本的亮点之一。作为微软技术的被坑者,年少的我曾经以为 SilverLight 能血虐 Flash,Zune 能团灭 iPod,WP 能吊打 iPhone,UWP 能统一全平台…… 可是后…… 最终步入大龄程序员的我发现,只有陪伴了我将近 20 年的ASP.NET 还没有完蛋。于是我这两天花了点时间,尝试将我的一个 UWP 小工具用 Blazor 重写,分享给大家。
查看 Prism.js 的源代码发现作者居然是 css secrets 的作者,666。可惜这个插件只支持
注 要使WPF支持Blazor,.NET版本必须是 6.0 或更高版本,本文所有示例使用的.NET 7.0,版本要求见链接,截图看如下文字:
Markdown 是一种轻量的标记语言,我们只需要写 md 格式文件,不必考虑文档的排版,被广泛用于博客写作,技术文档编写等,程序员们都热爱,但我们工作中除了写文档,有时候还需要汇报工作,技术分享等,需要用到 PPT,但设计 PPT 可能不是每个程序员所喜欢的,所以我们可以使用一个非常好用的工具 slidev, 可以使用 markdown 来制作演示文稿, 这个工具很多小伙伴都知道,尤大的分享就经常使用,其他类似的工具还有 Nodeppt、 marp 等,那么这类工具是如何实现的?
2022年9月以来在学习Blazor做全栈开发,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。作为第一篇,我们先来了解一下这个Blazor到底是个什么鬼。
考虑到分类页面是一个用来展示属于当前类别的所有文章,和首页一样的格式,就是显示的列表项十有八九会比首页少,因此分类页面的视图直接继承首页的视图,然后重写 get_queryset 方法就完事了,代码如下:
经常看我公众号的朋友应该能看出来,我的文章基本都是.Net、Android、OpenCV的相关的,用到的语言C#、Kotlin、C++、还有现在偶尔还维护下的Delphi老代码。本来也想空余时间学一下前端的,公众号里也有几篇VUE文章,后台没再继续学习的主要原因就是学习的成本太高,除了JS的语言,像编译部署、环境搭建、跨域访问等一系列的东西,需要花费的时间太多。前阵子.Net5发布后跟着做了个小的东西,也是无意间看到了Blazor后,抱着测试看看是否占用学习时间太多的想法做了个Demo,于是有这今天这篇。
领取专属 10元无门槛券
手把手带您无忧上云