Skip to content

Commit 4ac9b19

Browse files
committed
Refactor to use wordpress scripts, obtain list of languages from highlight.js
1 parent 4aed48a commit 4ac9b19

File tree

135 files changed

+12675
-9600
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+12675
-9600
lines changed

.eslintignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*/*
2+
!src/*

.eslintrc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"root": true,
3+
"extends": [
4+
"plugin:@wordpress/eslint-plugin/recommended",
5+
],
6+
"settings": {
7+
"react": {
8+
"pragma": "wp",
9+
"version": "16.6"
10+
}
11+
},
12+
"globals": {
13+
"browser": true,
14+
"wp": true
15+
}
16+
}

.gitignore

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,6 @@
11
.DS_Store
2-
.vscode/
3-
/node_modules/*
4-
!/node_modules/htm
5-
/node_modules/htm/*
6-
!/node_modules/htm/dist
7-
/node_modules/htm/dist/*
8-
!node_modules/htm/dist/htm.js
92
*.log
103
*.zip
11-
/vendor/*
12-
!/vendor/scrivo
13-
/vendor/scrivo/highlight.php/*
14-
15-
!/vendor/scrivo/highlight.php/Highlight/
16-
/vendor/scrivo/highlight.php/Highlight/languages/*.json
17-
!/vendor/scrivo/highlight.php/Highlight/languages/bash.json
18-
!/vendor/scrivo/highlight.php/Highlight/languages/cpp.json
19-
!/vendor/scrivo/highlight.php/Highlight/languages/css.json
20-
!/vendor/scrivo/highlight.php/Highlight/languages/diff.json
21-
!/vendor/scrivo/highlight.php/Highlight/languages/dns.json
22-
!/vendor/scrivo/highlight.php/Highlight/languages/dockerfile.json
23-
!/vendor/scrivo/highlight.php/Highlight/languages/go.json
24-
!/vendor/scrivo/highlight.php/Highlight/languages/handlebars.json
25-
!/vendor/scrivo/highlight.php/Highlight/languages/http.json
26-
!/vendor/scrivo/highlight.php/Highlight/languages/java.json
27-
!/vendor/scrivo/highlight.php/Highlight/languages/javascript.json
28-
!/vendor/scrivo/highlight.php/Highlight/languages/json.json
29-
!/vendor/scrivo/highlight.php/Highlight/languages/less.json
30-
!/vendor/scrivo/highlight.php/Highlight/languages/makefile.json
31-
!/vendor/scrivo/highlight.php/Highlight/languages/markdown.json
32-
!/vendor/scrivo/highlight.php/Highlight/languages/nginx.json
33-
!/vendor/scrivo/highlight.php/Highlight/languages/perl.json
34-
!/vendor/scrivo/highlight.php/Highlight/languages/php.json
35-
!/vendor/scrivo/highlight.php/Highlight/languages/protobuf.json
36-
!/vendor/scrivo/highlight.php/Highlight/languages/python.json
37-
!/vendor/scrivo/highlight.php/Highlight/languages/scss.json
38-
!/vendor/scrivo/highlight.php/Highlight/languages/shell.json
39-
!/vendor/scrivo/highlight.php/Highlight/languages/sql.json
40-
!/vendor/scrivo/highlight.php/Highlight/languages/typescript.json
41-
!/vendor/scrivo/highlight.php/Highlight/languages/twig.json
42-
!/vendor/scrivo/highlight.php/Highlight/languages/xml.json
43-
!/vendor/scrivo/highlight.php/Highlight/languages/yaml.json
44-
45-
!/vendor/scrivo/highlight.php/styles/
4+
/build
5+
/vendor
6+
/node_modules

bin/generate-language-names.php

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php
2+
// phpcs:ignoreFile
3+
4+
$languages_directory = sprintf( '%s/node_modules/highlight.js/src/languages', dirname( __DIR__ ) );
5+
if ( ! file_exists( $languages_directory ) ) {
6+
echo "Please first npm install\n";
7+
exit( 1 );
8+
}
9+
10+
$output_file = dirname( __DIR__ ) . '/src/language-names.js';
11+
12+
$language_names = [];
13+
14+
$language_files = glob( $languages_directory . '/*.js' );
15+
sort( $language_files );
16+
foreach ( $language_files as $language_file ) {
17+
$slug = basename( $language_file, '.js' );
18+
19+
if ( ! preg_match( '#^\s*/\*\s*Language:\s*(.+?)\n#s', file_get_contents( $language_file ), $matches ) ) {
20+
echo "Unable to parse Language from $language_file\n";
21+
exit( 2 );
22+
}
23+
24+
$language_names[ $slug ] = $matches[1];
25+
}
26+
27+
$js = sprintf( "// File generated by %s. Do not edit directly.\n", basename( __DIR__ ) . '/' . basename( __FILE__ ) );
28+
$js .= "const { __ } = wp.i18n;\n";
29+
$js .= "\n";
30+
$js .= "/* eslint quotes: 0, quote-props: 0 */\n";
31+
$js .= "const LANGUAGE_NAMES = {\n";
32+
33+
foreach ( $language_names as $slug => $name ) {
34+
$js .= sprintf( "\t%s: __( %s, 'syntax-highlighting-code-block' ),\n", json_encode( $slug ), json_encode( $name, JSON_UNESCAPED_UNICODE ) );
35+
}
36+
$js .= "};\n";
37+
$js .= "\n";
38+
$js .= "export default LANGUAGE_NAMES;";
39+
40+
if ( ! file_put_contents( $output_file, $js ) ) {
41+
echo "Unable to write to $output_file\n";
42+
exit( 1 );
43+
}
44+
45+
echo "Done. Wrote to $output_file.\n";

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "wordpress-plugin",
55
"license": "GPL-2.0-or-later",
66
"require": {
7-
"scrivo/highlight.php": "v9.*"
7+
"scrivo/highlight.php": "v9.15.8"
88
},
99
"require-dev": {
1010
"dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",

node_modules/htm/dist/htm.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)