mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 23:55:19 +00:00
add yaml info blocks to themes
This commit is contained in:
parent
e7cc38a2f8
commit
f1d53b8c9e
4 changed files with 26 additions and 2 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -42,7 +42,7 @@ pageheader.html
|
||||||
doc/SiteTOS.md
|
doc/SiteTOS.md
|
||||||
# themes except for redbasic
|
# themes except for redbasic
|
||||||
view/theme/*
|
view/theme/*
|
||||||
!view/theme/redbasic
|
!view/theme/redbasic*
|
||||||
# site theme schemas
|
# site theme schemas
|
||||||
view/theme/redbasic/schema/default.php
|
view/theme/redbasic/schema/default.php
|
||||||
# Doxygen API documentation, run 'doxygen util/Doxyfile' to generate it
|
# Doxygen API documentation, run 'doxygen util/Doxyfile' to generate it
|
||||||
|
|
|
@ -59,6 +59,9 @@ class Themes
|
||||||
$files = glob('view/theme/*');
|
$files = glob('view/theme/*');
|
||||||
if ($files) {
|
if ($files) {
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
|
if (! is_dir($file)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$f = basename($file);
|
$f = basename($file);
|
||||||
$is_experimental = intval(file_exists($file . '/.experimental'));
|
$is_experimental = intval(file_exists($file . '/.experimental'));
|
||||||
$is_supported = 1 - (intval(file_exists($file . '/.unsupported'))); // Is not used yet
|
$is_supported = 1 - (intval(file_exists($file . '/.unsupported'))); // Is not used yet
|
||||||
|
|
|
@ -6,6 +6,7 @@ use App;
|
||||||
use Code\Lib\Infocon;
|
use Code\Lib\Infocon;
|
||||||
use Code\Lib\Addon;
|
use Code\Lib\Addon;
|
||||||
use Code\Render\Theme;
|
use Code\Render\Theme;
|
||||||
|
use Code\Lib\Yaml;
|
||||||
|
|
||||||
|
|
||||||
class Theme
|
class Theme
|
||||||
|
@ -182,12 +183,25 @@ class Theme
|
||||||
public static function get_info($theme) {
|
public static function get_info($theme) {
|
||||||
|
|
||||||
$info = null;
|
$info = null;
|
||||||
if (is_file("view/theme/$theme/$theme.yml")) {
|
$has_yaml = true;
|
||||||
|
|
||||||
|
if (is_file("view/theme/$theme.yml")) {
|
||||||
$info = Infocon::from_file("view/theme/$theme.yml");
|
$info = Infocon::from_file("view/theme/$theme.yml");
|
||||||
}
|
}
|
||||||
elseif (is_file("view/theme/$theme/php/theme.php")) {
|
elseif (is_file("view/theme/$theme/php/theme.php")) {
|
||||||
|
$has_yaml = false;
|
||||||
$info = Infocon::from_c_comment("view/theme/$theme/php/theme.php");
|
$info = Infocon::from_c_comment("view/theme/$theme/php/theme.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($info && ! $has_yaml) {
|
||||||
|
try {
|
||||||
|
file_put_contents("view/theme/$theme.yml",Yaml::encode($info));
|
||||||
|
}
|
||||||
|
catch (Exception $e) {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $info ? $info : [ 'name' => $theme ] ;
|
return $info ? $info : [ 'name' => $theme ] ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
7
view/theme/redbasic.yml
Normal file
7
view/theme/redbasic.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
name: Redbasic
|
||||||
|
description: 'standard theme'
|
||||||
|
version: '2.1'
|
||||||
|
author: Fabrixxm
|
||||||
|
maintainer:
|
||||||
|
- 'Mike Macgirvin'
|
||||||
|
- 'Mario Vavti'
|
Loading…
Reference in a new issue