Instead of this:
{exp:channel:entries param="{exp:some:plugin}"}
...
{/exp:channel:entries}
Either use an embed, like this:
{!-- embed page template --} | |
{embed="site/_page" | |
hide_site_title="{embed:hide_site_title}" | |
body_class="p-default" | |
} | |
{!-- get channel data --} | |
{exp:channel:entries | |
limit="1" | |
entry_id="{embed:entry_id}" |
Every time I start a node module, or a new JS project, I'm confronted with this same question: how do I structure it to allow it to be used in the browser or nodejs, without requiring a build step, and without getting in the way of my development?
While developing, I typically create some type of [browser-based environment][]; Firebug and Web Inspector are still miles ahead of anything else we've got. Ideally I want to be able to add a file via a script
tag, and have that be the only requirement.
As @visionmedia [points out][], this is [ridiculous][].
This gist is meant to compile all of the various ways I've seen of guarding against/for a variety of module systems. Fork it and add your own, I'll try to bring them into this one.
Please use these at your own risk. I cannot be responsible for having no idea what I am doing and breaking your server.
This is a collection of Apache configuration settings that I use in my ExpressionEngine projects. Since I have always been a big fan of the HTML5 Boilerplate I took inspiration from their .htaccess file and tweaked my configuration with other settings I have used over the years.
This gist contains:
{ | |
"sublimelinter_mark_style": "fills", | |
"csslint_options": | |
{ | |
"adjoining-classes": false, | |
"box-model": false, | |
"box-sizing": "warning", | |
"compatible-vendor-prefixes": "warning", | |
"display-property-grouping": true, | |
"duplicate-background-images": "warning", |
ko.applyBindings({ | |
fastClickResult: ko.observable("Waiting..."), | |
clickResult: ko.observable("Waiting..."), | |
handleClick: function(self, event) { | |
self.clickResult("Clicked!"); | |
}, | |
handleFastClick: function(self, event) { | |
self.fastClickResult("Fast Clicked!"); | |
} | |
}); |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |
<title></title> | |
<meta name="description" content=""> | |
<meta name="author" content=""> |
First I'm using the Low Variables Single tag to pull in a Textarea var type for the country-specific header, | |
using the preparse: paramter to pass the {lang} and {segment_1} vars... | |
<div id="header"> | |
{exp:low_variables:single var="lv_header_{lang}" preparse:lang="{lang}" preparse:segment_1="{segment_1}"} | |
</div> | |
Then inside the above {lv_header_{lang}} var, I have the country-specific logo, contact info, nav menu, etc. | |
For the nav menu, I'm using a Low Variables Pair tag to output a nested Playa var type... |
Save for a few legacy projects that still use Fusion Tables I don't actively use this script anymore. This update hopefully solves the OAuth issue that cropped up once Google depcricated the Client Login method used by the prior version.
As always, your mileage may vary, and I welcome someone -- Google or otherwise -- to offer a long-term maintained solution.
The following is largely cribbed from a Google example here. I try to explain some of the API settings that must be enabled in the Developer's Console and elsewhere
{exp:stash:set type="snippet"} | |
{stash:search_header} | |
<input type="hidden" name="current_page" value="{current_page}" /> | |
<input type="hidden" name="total_pages" value="{total_pages}" /> | |
<section class="clear products grid"> | |
<div class="sort orange row"> | |