{"id":22771887,"url":"https://github.com/zdying/jshighlight","last_synced_at":"2025-10-09T08:04:27.162Z","repository":{"id":8329817,"uuid":"9883148","full_name":"zdying/jshighlight","owner":"zdying","description":"jshighlight-一款基于javascript的轻量级的代码着色插件","archived":false,"fork":false,"pushed_at":"2013-09-27T15:58:06.000Z","size":740,"stargazers_count":16,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-28T16:21:21.550Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zdying.png","metadata":{"files":{"readme":"README.md","changelog":"Change.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-06T08:59:11.000Z","updated_at":"2024-08-13T15:23:21.000Z","dependencies_parsed_at":"2022-08-07T02:31:02.418Z","dependency_job_id":null,"html_url":"https://github.com/zdying/jshighlight","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdying%2Fjshighlight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdying%2Fjshighlight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdying%2Fjshighlight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdying%2Fjshighlight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zdying","download_url":"https://codeload.github.com/zdying/jshighlight/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249014552,"owners_count":21198624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T16:17:39.607Z","updated_at":"2025-10-09T08:04:22.110Z","avatar_url":"https://github.com/zdying.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"jshighlight\n========================\njshighlight-一款基于javascript的轻量级的代码着色插件\n------------------------\n\n###  插件特点\n1. 真正轻量级，JS代码压缩后3K左右；\n2. 调用方便，引入jshighlight核心js文件即可；\n3. 不依赖于任何其他库；\n4. 原生支持HTML、CSS、Javascript；\n5. 支持其他语言的轻松扩展；\n6. 显示行号，直接复制代码不会复制行号；\n7. 提供四套主题可选，默认使用Monokai样式主题；\n\n### 使用步骤\n1. 在\u0026lt;head\u0026gt;中引入相应的样式文件：\n\n        \u003c!--默认样式--\u003e\n        \u003clink href=\"../theme/jshighlight-default.css\" rel=\"stylesheet\" /\u003e\n\n2. 在\u0026lt;/body\u0026gt;前或者\u0026lt;head\u0026gt;中引入相应js文件：\n\n        \u003c!--核心js文件--\u003e\n        \u003cscript src=\"../js/jshighlight.core-v1.0.1.min.js\"\u003e\u003c/script\u003e\n\n3. 在需要着色的pre标签中加入'data-language'属性，取值为：'javascript'|'html'|'css'，扩展后可以设置其他的值；\n\n### 如何扩展\n1. 在\u0026lt;/body\u0026gt;前或者\u0026lt;head\u0026gt;中引入相应js文件：\n\n        \u003cscript src=\"../js/jshighlight.core-v1.0.1.min.js\"\u003e\u003c/script\u003e\n\n2. 自定义需要着色的语言所需要的样式，例如：\n\n        .php-com{\n            color: #CCC;\n        }\n        .php-mrk{\n            color: red;\n            font-weight: bold;\n        }\n        .php-bol{\n            color: #F92665;\n            font-style: italic;\n        }\n        .php-var{\n            color: #A6E22E;\n        }\n        .......\n        /* 也可以使用默认的样式，传入默认样式类名即可，\n         * 样式名称可以自由使用，比如注释对应的样式也可以用.key\n         * 默认样式如下：\n         */\n        .com{ color:#75715E } /*普通注释*/\n        .doc{ color:#48BEEF } /*文档注释*/\n        .str{ color:#E6DB74 } /*字符串*/\n        .key{ color:#48BEEF; font-weight: bold; font-style: italic } /*关键字*/\n        .obj{ color:#AE81FF; font-weight:bold } /*内置对象、函数*/\n        .num{ color:#F92672 } /*数字*/\n        .ope{ color:#FD971F } /*操作符*/\n        .bol{ color:#FF5600; font-style: italic } /*布尔值*/\n\n        .mrk{ color:#F92665 } /*html标签*/\n        .attr{ color:#A6E22E } /*属性名称*/\n        .val{ color:#E6DB74 } /*属性值*/\n\n3. 定义提取需要着色的内容的正则，比如：\n\n        'com' : /(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|\u0026lt;\\!--[\\s\\S]*?--\u0026gt;)/,  //普通注释\n        'mrk' : /(\u0026lt;\\?php|\\?\u0026gt;)/, //标签\n        'str' : /('(?:(?:\\\\'|[^'\\r\\n])*?)'|\"(?:(?:\\\\\"|[^\"\\r\\n])*?)\")/, //字符串\n\n4. 调用JSHL的extendLanguage方法：\n\n        JSHL.extendLanguage('php',{\n           /*\n            * 每个分组对应的样式类名\n            * 比如：'com'中有一个分组，'mrk'中有一个分组，'key'中有两个分组，\n            * 那么： com中的分组对应'php-com','mrk'中的分组对应\n            * 'php-mrk','key'中的第一个分组对应'str',第二个对应'key'，以此类推；\n            */\n           cls : ['php-com','php-mrk','str','key','php-var','obj','num','php-bol','ope'],\n           reg : {\n                'com' : /(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|\u0026lt;\\!--[\\s\\S]*?--\u0026gt;)/,  //普通注释\n                'mrk' : /(\u0026lt;\\?php|\\?\u0026gt;)/, //标签\n                'str' : /('(?:(?:\\\\'|[^'\\r\\n])*?)'|\"(?:(?:\\\\\"|[^\"\\r\\n])*?)\")/, //字符串\n                'key' : /(?:[^$_@a-zA-Z0-9])?(and|or|...|throw)(?![$_@a-zA-Z0-9])/, //关键字\n                'var' : /(\\$[\\w][\\w\\d]*)/, //变量名\n                'obj' : /(?:[^$_@A-Za-z0-9])?(echo|...|date)(?:[^$_@A-Za-z0-9])/, //内置函数(部分)\n                'num' : /\\b(\\d+(?:\\.\\d+)?(?:[Ee][-+]?(?:\\d)+)?)\\b/,  //数字\n                'bol' : /(?:[^$_@A-Za-z0-9])?(true|false)(?:[^$_@A-Za-z0-9])/, //布尔值\n                'ope' : /(==|=|===|\\+|-|\\+=|-=|\\*=|\\\\=|%=|\u0026lt;|\u0026lt;=|\u0026gt;|\u0026gt;=|\\.)/  //操作符\n            },\n            //如果这个语言是包含在html中的设置下列属性\n            wrapper: 'html',\n            content : {\n                lang : 'php', // 语言名称，在于pre标签的data-language一致\n                wrapper : /(\u003c\\?php(?:[\\s\\S]*?)\\?\u003e)/g // 需要着色的代码被包裹的形式\n            }\n        })\n\n### E-Mail\n\n如果你有什么好的意见或者建议，或者发现Bug，欢迎与我交流：\n97532151@qq.com/zdying@live.com\n\n### Site\n\nhttp://sanjh.cn","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdying%2Fjshighlight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzdying%2Fjshighlight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdying%2Fjshighlight/lists"}