mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-22 13:12:41 +00:00
Upgrade Daux to 0.11
This commit is contained in:
parent
5f993187ea
commit
9461cefc35
10 changed files with 131 additions and 306 deletions
72
RoboFile.php
72
RoboFile.php
|
@ -213,80 +213,20 @@ class RoboFile extends \Robo\Tasks {
|
|||
* Daux's theme changes
|
||||
*/
|
||||
public function manualTheme(array $args): Result {
|
||||
$languages = ["php", "bash", "shell", "xml", "nginx", "apache"];
|
||||
$postcss = escapeshellarg(norm(BASE."node_modules/.bin/postcss"));
|
||||
$themesrc = norm(BASE."docs/theme/src/").\DIRECTORY_SEPARATOR;
|
||||
$themeout = norm(BASE."docs/theme/arsse/").\DIRECTORY_SEPARATOR;
|
||||
$dauxjs = norm(BASE."vendor-bin/daux/vendor/daux/daux.io/themes/daux/js/").\DIRECTORY_SEPARATOR;
|
||||
// start a collection; this stops after the first failure
|
||||
$t = $this->collectionBuilder();
|
||||
$tmp = $t->tmpDir().\DIRECTORY_SEPARATOR;
|
||||
// rebuild the stylesheet
|
||||
$t->addCode([$this, "manualCss"]);
|
||||
// copy JavaScript files from the Daux theme
|
||||
foreach (glob($dauxjs."daux*") as $file) {
|
||||
$t->taskFilesystemStack()->copy($file, $themeout.basename($file), true);
|
||||
}
|
||||
// download highlight.js
|
||||
$t->addCode(function() use ($languages, $tmp, $themeout) {
|
||||
// compile the list of desired language (enumerated above) into an application/x-www-form-urlencoded body
|
||||
$post = http_build_query((function($langs) {
|
||||
$out = [];
|
||||
foreach ($langs as $l) {
|
||||
$out[$l.".js"] = "on";
|
||||
}
|
||||
return $out;
|
||||
})($languages));
|
||||
// get the two cross-site request forgery tokens the Highlight.js Web site requires
|
||||
$conn = @fopen("https://highlightjs.org/download/", "r");
|
||||
if ($conn === false) {
|
||||
throw new Exception("Unable to download Highlight.js");
|
||||
}
|
||||
foreach (stream_get_meta_data($conn)['wrapper_data'] as $field) {
|
||||
if (preg_match("/^Set-Cookie: csrftoken=([^;]+)/i", $field, $cookie)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
$token = stream_get_contents($conn);
|
||||
preg_match("/<input type='hidden' name='csrfmiddlewaretoken' value='([^']*)'/", $token, $token);
|
||||
// add the form CSRF token to the POST body
|
||||
$post = "csrfmiddlewaretoken={$token[1]}&$post";
|
||||
// download a copy of Highlight.js with the desired languages to a temporary file
|
||||
$hljs = @file_get_contents("https://highlightjs.org/download/", false, stream_context_create(['http' => [
|
||||
'method' => "POST",
|
||||
'content' => $post,
|
||||
'header' => [
|
||||
"Referer: https://highlightjs.org/download/",
|
||||
"Cookie: csrftoken={$cookie[1]}",
|
||||
"Content-Type: application/x-www-form-urlencoded",
|
||||
],
|
||||
]]));
|
||||
if ($hljs === false) {
|
||||
throw new Exception("Unable to download Highlight.js");
|
||||
} else {
|
||||
file_put_contents($tmp."highlightjs.zip", $hljs);
|
||||
}
|
||||
// extract the downloaded zip file and keep only the JS file
|
||||
$this->taskExtract($tmp."highlightjs.zip")->to($tmp."hljs")->run();
|
||||
$this->taskFilesystemStack()->copy($tmp."hljs".\DIRECTORY_SEPARATOR."highlight.pack.js", $themeout."highlight.pack.js")->run();
|
||||
}, "downloadHighlightjs");
|
||||
// execute the collection
|
||||
return $t->run();
|
||||
}
|
||||
|
||||
/** Rebuilds the manual theme's stylesheet only
|
||||
*
|
||||
* This requires Node and Yarn to be installed.
|
||||
*/
|
||||
public function manualCss(): Result {
|
||||
// start a collection; this stops after the first failure
|
||||
$t = $this->collectionBuilder();
|
||||
$tmp = $t->tmpDir().\DIRECTORY_SEPARATOR;
|
||||
// install dependencies via Yarn
|
||||
$t->taskExec("yarn install");
|
||||
// compile the stylesheet
|
||||
$postcss = escapeshellarg(norm(BASE."node_modules/.bin/postcss"));
|
||||
$themesrc = norm(BASE."docs/theme/src/").\DIRECTORY_SEPARATOR;
|
||||
$themeout = norm(BASE."docs/theme/arsse/").\DIRECTORY_SEPARATOR;
|
||||
$t->taskExec($postcss)->arg($themesrc."arsse.scss")->option("-o", $themeout."arsse.css");
|
||||
// copy JavaScript files from the Daux theme
|
||||
foreach (glob($dauxjs."daux*.js") as $file) {
|
||||
$t->taskFilesystemStack()->copy($file, $themeout.basename($file), true);
|
||||
}
|
||||
// execute the collection
|
||||
return $t->run();
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ sudo crontab -u www-data -e
|
|||
|
||||
And add a line such as this one:
|
||||
|
||||
```cron
|
||||
```
|
||||
*/2 * * * * /usr/bin/env php /usr/share/arsse/arsse.php refresh-all
|
||||
```
|
||||
|
||||
|
|
2
docs/theme/arsse/arsse.css
vendored
2
docs/theme/arsse/arsse.css
vendored
File diff suppressed because one or more lines are too long
3
docs/theme/arsse/config.json
vendored
3
docs/theme/arsse/config.json
vendored
|
@ -1,8 +1,7 @@
|
|||
{
|
||||
"favicon": "<theme_url>favicon.png",
|
||||
"js": [
|
||||
"<theme_url>highlight.pack.js",
|
||||
"<theme_url>daux.js"
|
||||
"<theme_url>daux.min.js"
|
||||
],
|
||||
"css": [
|
||||
"<theme_url>arsse.css"
|
||||
|
|
182
docs/theme/arsse/daux.js
vendored
182
docs/theme/arsse/daux.js
vendored
|
@ -1,182 +0,0 @@
|
|||
/** global localStorage, hljs */
|
||||
|
||||
if (hljs) {
|
||||
hljs.initHighlightingOnLoad();
|
||||
}
|
||||
|
||||
(function() {
|
||||
var codeBlocks = document.querySelectorAll(".s-content pre");
|
||||
var toggleCodeSection = document.querySelector(".CodeToggler");
|
||||
if (!toggleCodeSection) {
|
||||
return;
|
||||
} else if (!codeBlocks.length) {
|
||||
toggleCodeSection.classList.add("Hidden");
|
||||
return;
|
||||
}
|
||||
|
||||
var toggleCodeBlockBtnList = toggleCodeSection.querySelectorAll(".CodeToggler__button");
|
||||
var toggleCodeBlockBtnSet = toggleCodeSection.querySelector(".CodeToggler__button--main"); // available when floating is disabled
|
||||
var toggleCodeBlockBtnHide = toggleCodeSection.querySelector(".CodeToggler__button--hide");
|
||||
var toggleCodeBlockBtnBelow = toggleCodeSection.querySelector(".CodeToggler__button--below");
|
||||
var toggleCodeBlockBtnFloat = toggleCodeSection.querySelector(".CodeToggler__button--float");
|
||||
var codeBlockView = document.querySelector(".Columns__right");
|
||||
var floating = document.body.classList.contains("with-float");
|
||||
|
||||
function setCodeBlockStyle(codeBlockState) {
|
||||
for (var a = 0; a < toggleCodeBlockBtnList.length; a++) {
|
||||
toggleCodeBlockBtnList[a].classList.remove("Button--active");
|
||||
}
|
||||
switch (codeBlockState) {
|
||||
case true: // Show code blocks below (flowed); checkbox
|
||||
var hidden = false;
|
||||
break;
|
||||
case false: // Hidden code blocks; checkbox
|
||||
var hidden = true;
|
||||
break;
|
||||
case 2: // Show code blocks inline (floated)
|
||||
toggleCodeBlockBtnFloat.classList.add("Button--active");
|
||||
codeBlockView.classList.add("Columns__right--float");
|
||||
codeBlockView.classList.remove("Columns__right--full");
|
||||
var hidden = false;
|
||||
break;
|
||||
case 1: // Show code blocks below (flowed)
|
||||
case "checked":
|
||||
toggleCodeBlockBtnBelow.classList.add("Button--active");
|
||||
codeBlockView.classList.remove("Columns__right--float");
|
||||
codeBlockView.classList.add("Columns__right--full");
|
||||
var hidden = false;
|
||||
break;
|
||||
case 0: // Hidden code blocks
|
||||
default:
|
||||
toggleCodeBlockBtnHide.classList.add("Button--active");
|
||||
codeBlockView.classList.remove("Columns__right--float");
|
||||
codeBlockView.classList.add("Columns__right--full");
|
||||
var hidden = true;
|
||||
break;
|
||||
}
|
||||
for (var a = 0; a < codeBlocks.length; a++) {
|
||||
if (hidden) {
|
||||
codeBlocks[a].classList.add("Hidden");
|
||||
} else {
|
||||
codeBlocks[a].classList.remove("Hidden");
|
||||
}
|
||||
}
|
||||
try {
|
||||
localStorage.setItem("codeBlockState", +codeBlockState);
|
||||
} catch (e) {
|
||||
// local storage operations can fail with the file:// protocol
|
||||
}
|
||||
}
|
||||
if (!floating) {
|
||||
toggleCodeBlockBtnSet.addEventListener("change", function(ev) {setCodeBlockStyle(ev.target.checked);}, false);
|
||||
} else {
|
||||
toggleCodeBlockBtnHide.addEventListener("click", function() {setCodeBlockStyle(0);}, false);
|
||||
toggleCodeBlockBtnBelow.addEventListener("click", function() {setCodeBlockStyle(1);}, false);
|
||||
toggleCodeBlockBtnFloat.addEventListener("click", function() {setCodeBlockStyle(2);}, false);
|
||||
}
|
||||
|
||||
try {
|
||||
var codeBlockState = localStorage.getItem("codeBlockState");
|
||||
} catch (e) {
|
||||
// local storage operations can fail with the file:// protocol
|
||||
var codeBlockState = null;
|
||||
}
|
||||
if (!codeBlockState) {
|
||||
codeBlockState = floating ? 2 : 1;
|
||||
} else {
|
||||
codeBlockState = parseInt(codeBlockState);
|
||||
}
|
||||
if (!floating) {
|
||||
codeBlockState = !!codeBlockState;
|
||||
}
|
||||
|
||||
setCodeBlockStyle(codeBlockState);
|
||||
})();
|
||||
|
||||
(function() {
|
||||
function debounce(func, wait) {
|
||||
var timeout;
|
||||
return function() {
|
||||
var context = this, args = arguments;
|
||||
var later = function() {
|
||||
timeout = null;
|
||||
};
|
||||
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
};
|
||||
};
|
||||
|
||||
var navItems = document.querySelectorAll('.Nav__item.has-children i.Nav__arrow');
|
||||
|
||||
function _toggleSubMenu(ev) {
|
||||
if (ev.preventDefault !== undefined) {
|
||||
ev.preventDefault();
|
||||
}
|
||||
|
||||
var parent = ev.target.parentNode.parentNode;
|
||||
var subNav = parent.querySelector('ul.Nav');
|
||||
|
||||
if (ev.preventDefault !== undefined && parent.classList.contains('Nav__item--open')) {
|
||||
// Temporarily set the height so the transition can work.
|
||||
subNav.style.height = subNav.scrollHeight + 'px';
|
||||
subNav.style.transitionDuration = Math.max(subNav.scrollHeight, 150) + 'ms';
|
||||
subNav.style.height = '0px';
|
||||
parent.classList.remove('Nav__item--open');
|
||||
} else {
|
||||
if (ev.preventDefault !== undefined) {
|
||||
subNav.style.transitionDuration = Math.max(subNav.scrollHeight, 150) + 'ms';
|
||||
// After the transition finishes set the height to auto so child
|
||||
// menus can expand properly.
|
||||
subNav.addEventListener('transitionend', _setHeightToAuto);
|
||||
subNav.style.height = subNav.scrollHeight + 'px';
|
||||
parent.classList.add('Nav__item--open');
|
||||
} else {
|
||||
// When running at page load the transitions don't need to fire and
|
||||
// the classList doesn't need to be altered.
|
||||
subNav.style.height = 'auto';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function _setHeightToAuto(ev) {
|
||||
if (ev.target.style.height !== '0px') {
|
||||
ev.target.style.height = 'auto';
|
||||
}
|
||||
|
||||
ev.target.removeEventListener('transitionend', _setHeightToAuto);
|
||||
}
|
||||
|
||||
// Go in reverse here because on page load the child nav items need to be
|
||||
// opened first before their parents so the height on the parents can be
|
||||
// calculated properly.
|
||||
for (var i = navItems.length - 1, cur; i >= 0; i--) {
|
||||
cur = navItems[i];
|
||||
cur.addEventListener('click', _toggleSubMenu);
|
||||
|
||||
if (cur.parentNode.parentNode.classList.contains('Nav__item--open')) {
|
||||
_toggleSubMenu({ target: cur });
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
(function() {
|
||||
var trigger = document.querySelector('.Collapsible__trigger');
|
||||
|
||||
if (!trigger) {
|
||||
return;
|
||||
}
|
||||
|
||||
content = document.querySelector('.Collapsible__content');
|
||||
|
||||
trigger.addEventListener('click', function(ev) {
|
||||
if (content.classList.contains('Collapsible__content--open')) {
|
||||
content.style.height = 0;
|
||||
content.classList.remove('Collapsible__content--open');
|
||||
} else {
|
||||
content.style.transitionDuration = Math.max(content.scrollHeight, 150) + 'ms';
|
||||
content.style.height = content.scrollHeight + 'px';
|
||||
content.classList.add('Collapsible__content--open');
|
||||
}
|
||||
});
|
||||
})();
|
2
docs/theme/arsse/daux.min.js
vendored
Normal file
2
docs/theme/arsse/daux.min.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
var e=document.querySelectorAll(".s-content pre"),t=document.querySelector(".CodeToggler"),n="daux_code_blocks_hidden";function a(t){for(var a=0;a<e.length;a++)e[a].classList.toggle("Hidden",t);try{localStorage.setItem(n,t)}catch(e){}}t&&(e.length?function(){var e=t.querySelector(".CodeToggler__button--main");e.addEventListener("change",(function(e){a(!e.target.checked)}),!1);var r=!1;try{"false"===(r=localStorage.getItem(n))?r=!1:"true"===r&&(r=!0),r&&(a(!!r),e.checked=!r)}catch(e){}}():t.classList.add("Hidden"));var r=document.querySelector(".Collapsible__trigger");if(r){var o=document.querySelector(".Collapsible__content");r.addEventListener("click",(function(e){o.classList.contains("Collapsible__content--open")?(o.style.height=0,o.classList.remove("Collapsible__content--open"),r.setAttribute("aria-expanded","false")):(r.setAttribute("aria-expanded","true"),o.style.transitionDuration="150ms",o.style.height="".concat(o.scrollHeight,"px"),o.classList.add("Collapsible__content--open"))}))}var l=document.querySelectorAll("pre > code:not(.hljs)");if(l.length){var i=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.async=!0,c.src="".concat(window.base_url,"daux_libraries/highlight.pack.js"),c.onload=function(e){[].forEach.call(l,window.hljs.highlightBlock)},i.appendChild(c)}function s(e){var t=void 0!==e.preventDefault;t&&e.preventDefault();var n=function(e){for(var t=e;(t=t.parentNode)&&9!==t.nodeType;)if(1===t.nodeType&&t.classList.contains("Nav__item"))return t;throw new Error("Could not find a NavItem...")}(e.target),a=n.querySelector("ul.Nav");t&&n.classList.contains("Nav__item--open")?(a.style.height="".concat(a.scrollHeight,"px"),a.style.transitionDuration="150ms",a.style.height="0px",n.classList.remove("Nav__item--open")):t?(a.style.transitionDuration="150ms",a.addEventListener("transitionend",(function e(t){"0px"!==t.target.style.height&&(t.target.style.height="auto"),t.target.removeEventListener("transitionend",e)})),a.style.height="".concat(a.scrollHeight,"px"),n.classList.add("Nav__item--open")):a.style.height="auto"}for(var d,u=document.querySelectorAll(".Nav__item.has-children i.Nav__arrow"),h=u.length-1;h>=0;h--)(d=u[h]).addEventListener("click",s),d.parentNode.parentNode.classList.contains("Nav__item--open")&&s({target:d});var g=document.querySelectorAll(".Nav__item__link--nopage"),v=!0,p=!1,_=void 0;try{for(var y,m=g[Symbol.iterator]();!(v=(y=m.next()).done);v=!0){y.value.addEventListener("click",s)}}catch(e){p=!0,_=e}finally{try{v||null==m.return||m.return()}finally{if(p)throw _}}
|
||||
//# sourceMappingURL=daux.min.js.map
|
2
docs/theme/arsse/highlight.pack.js
vendored
2
docs/theme/arsse/highlight.pack.js
vendored
File diff suppressed because one or more lines are too long
16
docs/theme/src/arsse.scss
vendored
16
docs/theme/src/arsse.scss
vendored
|
@ -1,12 +1,12 @@
|
|||
/* Daux imports; fonts are omitted */
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/vendor/normalize.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_variables.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_mixins.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_structure.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_typography.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_components.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_homepage.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/themes/daux/scss/_print.scss" print;
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/vendor/normalize.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_variables.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_mixins.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_structure.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_typography.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_components.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_homepage.scss";
|
||||
@import "../../../vendor-bin/daux/vendor/daux/daux.io/src/css/theme_daux/_print.scss" print;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"require": {
|
||||
"daux/daux.io": "^0.10.1"
|
||||
"daux/daux.io": "^0.11"
|
||||
}
|
||||
}
|
||||
|
|
154
vendor-bin/daux/composer.lock
generated
154
vendor-bin/daux/composer.lock
generated
|
@ -4,20 +4,20 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "c53b1115bf13a026ec792e74b04fe703",
|
||||
"content-hash": "6d944ffdc165b3e6f14e71a82b67a57d",
|
||||
"packages": [
|
||||
{
|
||||
"name": "daux/daux.io",
|
||||
"version": "0.10.1",
|
||||
"version": "0.11.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dauxio/daux.io.git",
|
||||
"reference": "298eef8f9c4d4d380f5e7beb5472b4bff80566d0"
|
||||
"reference": "e796fad8627b7a2c95d1caf80e8e7b19969133e9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/dauxio/daux.io/zipball/298eef8f9c4d4d380f5e7beb5472b4bff80566d0",
|
||||
"reference": "298eef8f9c4d4d380f5e7beb5472b4bff80566d0",
|
||||
"url": "https://api.github.com/repos/dauxio/daux.io/zipball/e796fad8627b7a2c95d1caf80e8e7b19969133e9",
|
||||
"reference": "e796fad8627b7a2c95d1caf80e8e7b19969133e9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -26,6 +26,7 @@
|
|||
"league/plates": "~3.1",
|
||||
"myclabs/deep-copy": "^1.5",
|
||||
"php": ">=7.1.3",
|
||||
"scrivo/highlight.php": "^9.15",
|
||||
"symfony/console": "^4.0",
|
||||
"symfony/http-foundation": "^4.0",
|
||||
"symfony/polyfill-intl-icu": "^1.10",
|
||||
|
@ -74,7 +75,7 @@
|
|||
"markdown",
|
||||
"md"
|
||||
],
|
||||
"time": "2019-08-28T13:42:34+00:00"
|
||||
"time": "2019-09-23T20:10:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
|
@ -575,17 +576,84 @@
|
|||
"time": "2019-03-08T08:55:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v4.3.4",
|
||||
"name": "scrivo/highlight.php",
|
||||
"version": "v9.15.10.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "de63799239b3881b8a08f8481b22348f77ed7b36"
|
||||
"url": "https://github.com/scrivo/highlight.php.git",
|
||||
"reference": "9ad3adb4456dc91196327498dbbce6aa1ba1239e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/de63799239b3881b8a08f8481b22348f77ed7b36",
|
||||
"reference": "de63799239b3881b8a08f8481b22348f77ed7b36",
|
||||
"url": "https://api.github.com/repos/scrivo/highlight.php/zipball/9ad3adb4456dc91196327498dbbce6aa1ba1239e",
|
||||
"reference": "9ad3adb4456dc91196327498dbbce6aa1ba1239e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"php": ">=5.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8|^5.7",
|
||||
"symfony/finder": "^2.8"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-dom": "Needed to make use of the features in the utilities namespace"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Highlight\\": "",
|
||||
"HighlightUtilities\\": ""
|
||||
},
|
||||
"files": [
|
||||
"HighlightUtilities/functions.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Geert Bergman",
|
||||
"homepage": "http://www.scrivo.org/",
|
||||
"role": "Project Author"
|
||||
},
|
||||
{
|
||||
"name": "Vladimir Jimenez",
|
||||
"homepage": "https://allejo.io",
|
||||
"role": "Contributor"
|
||||
},
|
||||
{
|
||||
"name": "Martin Folkers",
|
||||
"homepage": "https://twobrain.io",
|
||||
"role": "Contributor"
|
||||
}
|
||||
],
|
||||
"description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js",
|
||||
"keywords": [
|
||||
"code",
|
||||
"highlight",
|
||||
"highlight.js",
|
||||
"highlight.php",
|
||||
"syntax"
|
||||
],
|
||||
"time": "2019-08-27T04:27:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v4.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "929ddf360d401b958f611d44e726094ab46a7369"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/929ddf360d401b958f611d44e726094ab46a7369",
|
||||
"reference": "929ddf360d401b958f611d44e726094ab46a7369",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -647,20 +715,20 @@
|
|||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-08-26T08:26:39+00:00"
|
||||
"time": "2019-10-07T12:36:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v4.3.4",
|
||||
"version": "v4.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc"
|
||||
"reference": "76590ced16d4674780863471bae10452b79210a5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc",
|
||||
"reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/76590ced16d4674780863471bae10452b79210a5",
|
||||
"reference": "76590ced16d4674780863471bae10452b79210a5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -702,20 +770,20 @@
|
|||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-08-26T08:55:16+00:00"
|
||||
"time": "2019-10-04T19:48:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/intl",
|
||||
"version": "v4.3.4",
|
||||
"version": "v4.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/intl.git",
|
||||
"reference": "8db5505703c5bdb23d524fd994dad2f781966538"
|
||||
"reference": "818771ff6acef04cdce05023ddfc39b7078014bf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/intl/zipball/8db5505703c5bdb23d524fd994dad2f781966538",
|
||||
"reference": "8db5505703c5bdb23d524fd994dad2f781966538",
|
||||
"url": "https://api.github.com/repos/symfony/intl/zipball/818771ff6acef04cdce05023ddfc39b7078014bf",
|
||||
"reference": "818771ff6acef04cdce05023ddfc39b7078014bf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -777,20 +845,20 @@
|
|||
"l10n",
|
||||
"localization"
|
||||
],
|
||||
"time": "2019-08-26T08:26:39+00:00"
|
||||
"time": "2019-10-04T21:18:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mime",
|
||||
"version": "v4.3.4",
|
||||
"version": "v4.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/mime.git",
|
||||
"reference": "987a05df1c6ac259b34008b932551353f4f408df"
|
||||
"reference": "32f71570547b91879fdbd9cf50317d556ae86916"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df",
|
||||
"reference": "987a05df1c6ac259b34008b932551353f4f408df",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/32f71570547b91879fdbd9cf50317d556ae86916",
|
||||
"reference": "32f71570547b91879fdbd9cf50317d556ae86916",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -836,7 +904,7 @@
|
|||
"mime",
|
||||
"mime-type"
|
||||
],
|
||||
"time": "2019-08-22T08:16:11+00:00"
|
||||
"time": "2019-09-19T17:00:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
|
@ -1190,16 +1258,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v4.3.4",
|
||||
"version": "v4.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "e89969c00d762349f078db1128506f7f3dcc0d4a"
|
||||
"reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/e89969c00d762349f078db1128506f7f3dcc0d4a",
|
||||
"reference": "e89969c00d762349f078db1128506f7f3dcc0d4a",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/50556892f3cc47d4200bfd1075314139c4c9ff4b",
|
||||
"reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1235,20 +1303,20 @@
|
|||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-08-26T08:26:39+00:00"
|
||||
"time": "2019-09-26T21:17:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
"version": "v1.1.6",
|
||||
"version": "v1.1.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/service-contracts.git",
|
||||
"reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3"
|
||||
"reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/ea7263d6b6d5f798b56a45a5b8d686725f2719a3",
|
||||
"reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffcde9615dc5bb4825b9f6aed07716f1f57faae0",
|
||||
"reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1293,20 +1361,20 @@
|
|||
"interoperability",
|
||||
"standards"
|
||||
],
|
||||
"time": "2019-08-20T14:44:19+00:00"
|
||||
"time": "2019-09-17T11:12:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v4.3.4",
|
||||
"version": "v4.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686"
|
||||
"reference": "41e16350a2a1c7383c4735aa2f9fce74cf3d1178"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686",
|
||||
"reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/41e16350a2a1c7383c4735aa2f9fce74cf3d1178",
|
||||
"reference": "41e16350a2a1c7383c4735aa2f9fce74cf3d1178",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1352,7 +1420,7 @@
|
|||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-08-20T14:27:59+00:00"
|
||||
"time": "2019-09-11T15:41:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webuni/commonmark-table-extension",
|
||||
|
|
Loading…
Reference in a new issue