Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Released Datenstrom Yellow 0.8.2 #403

markseu opened this Issue Feb 26, 2019 · 7 comments


6 participants
Copy link

markseu commented Feb 26, 2019

What's new:

  • added support for themes with custom HTML/CSS/JavaScript
  • merged plugins and themes into extensions
  • merged templates and snippets into layouts
  • updated content files, changed setting Template to Layout
  • updated system files, changed and flattened folder structure
  • updated API, @datenstrom/developers please have a look
  • updated API, changed onParseContentBlock() to onParseContentShortcut()
  • updated API, changed onParsePage() to onParsePageLayout()
  • updated API, changed onExtra() to onParsePageExtra()
  • updated API, changed snippet() to layout()
  • updated API, changed getSnippetArgs() to getLayoutArgs()
  • updated API, changed yellow->config to yellow->system
  • updated API, changed yellow->pages to yellow->content
  • updated API, changed yellow->files to yellow->media
  • updated API, changed yellow->plugins and yellow->themes to yellow->extensions
  • updated API, changed setting pluginLocation/themeLocation to extensionLocation
  • updated API, changed setting pluginDir/themeDir to extensionDir
  • updated API, changed setting assetLocation to resourceLocation
  • updated API, changed setting assetDir to resourceDir
  • updated API, changed setting configDir to settingDir
  • updated API, changed global $yellow to $this->yellow
  • updated API, removed register() from extensions

Notes: It’s time to say goodbye to the old API. Over the last months internal changes have been pushed back, so that most changes happen all at once. Backwards compatibility with the old API will be removed soon. Please update your website now.

Something not working? Do you have questions about this release? Let us know. 😄

@markseu markseu added the news label Feb 26, 2019


This comment has been minimized.

Copy link

GiovanniSalmeri commented Feb 26, 2019


This comment has been minimized.

Copy link

BogusCurry commented Mar 2, 2019

Amazing Update ;D Thanks for that ;D


This comment has been minimized.

Copy link

sukmabudi commented Mar 9, 2019

Major Update Great Work!
Since I've found Yellow, I've decided to leave all wordpress behind, and start crafting the Yellow, it's fun. Wondering for next release featuring:

  • onParsePageExtra() has header/footer option that help me a lot, also this function provide an additional option to wrapping the client-side script in document.addEventListener('DOMContentLoaded') In certain case, the client-side script sometime need to wait all HTML document completely loaded and parsed, and also its help me to avoid duplicate DOMContentLoaded statement by any extensions.

  • Glad to find that all script supplies by the extension are minified and deferring, it's help to avoid SEO's render blocking issue. Hope for next release, better placing those too at the end of body (not in the head) to improve SEO's First Contentful Paint speed issue.

  • Slider extension also providing external link for each image when click event trigerred. In my case, i have to customize it with additional to store the link list.

  • Blog extension also featuring generated Google's AMP layout that automatically rendered from blog content.

  • Didn't find yet the default header generate open graph meta property as one of important thing and common use in shareable page. I've to manually add it with customizing the header layout (Yellow previous version 0.7.x) :

<meta property="og:type" content="article" />
<meta property="og:locale" content="<?php echo $yellow->page->get("language") ?>" />
<?php if ($yellow->page->isExisting("Template") && $yellow->page->get("Template")=="blog"){ ?>
<meta property="article:published_time" content="<?php echo preg_replace('/\s+/','T',$yellow->page->get("Published")) ?>Z+07:00" />
<meta property="article:author" content="<?php echo $yellow->config->get("Author") ?>" />
<meta property="article:tag" content="<?php echo $yellow->page->get("Tag") ?>" />
<?php } else echo "<meta property=\"og:type\" content=\"website\" />\n"; ?>
<meta property="og:site_name" content="<?php echo $yellow->page->get("sitename") ?>" />
<meta property="og:title" content="<?php echo $yellow->page->get("titleHeader") ?>" />
<meta property="og:description" content="<?php echo $yellow->page->get("Description") ?>" />
<meta property="og:url" content="<?php echo $urlclean ?>" />
$og_image_alt = $yellow->page->get("sitename");
$og_image = $yellow->config->get("ImageDir")."logo.jpg";
if ($yellow->page->isExisting("Template") && $yellow->page->get("Template")=="blog"){
$og_image_alt = $yellow->page->get("titleHeader");
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $yellow->page->getContent(), $matches);
if (!empty($matches [1] [0])) $og_image = $matches [1] [0];
$og_image = preg_replace('/\/edit/','',$urlbase.preg_replace('/\/blog\//','',$og_image));
list($width, $height) = getimagesize($og_image);
<meta property="og:image" content="<?php echo $og_image ?>" />
<meta property="og:image:type" content="<?php echo $yellow->toolbox->getMimeContentType($og_image) ?>" />
<meta property="og:image:width" content="<?php echo $width ?>" />
<meta property="og:image:height" content="<?php echo $height ?>" />
<meta property="og:image:alt" content="<?php echo $og_image_alt ?>" />


This comment has been minimized.

Copy link

schulle4u commented Mar 9, 2019

@sukmabudi Regarding Open Graph support you can use my Socialtags extension, it has support for Twitter cards too. Since I'm not using facebook at all, the extension hasn't been fully tested by people who have a real need for this. So feel free to make suggestions.


This comment has been minimized.

Copy link

BsNoSi commented Mar 10, 2019

Seems as if "bundle.php" disturbes local google fonts. I could not localize it but when I remove the extension, the fonts are set as expected, if active only the last font defined with "@font-face" is used if there are at least two. If only one font is defined by "@font-face" this font is ignored.


This comment has been minimized.

Copy link
Member Author

markseu commented Mar 11, 2019

@BsNoSi The bundle extension does a normalisation of the HTML head before bundling resources, perhaps something goes wrong here, but I don't think it was changed this releases. If you want me to investigate, please open a new issue.


This comment has been minimized.

Copy link
Member Author

markseu commented Mar 17, 2019

@sukmabudi Thank you for your feedback. Regarding Google's AMP layout, please make your own theme with custom layout files. Regarding slider, please open a new issue. I can not promise to add more functionality to the slider, but I'd like to understand what's missing or not working.

@markseu markseu closed this Mar 19, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.