This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class XmlNode : Drop | |
| { | |
| private const string attributeMethodName = "attr"; | |
| private const string xpathQueryMethodName = "xpath"; | |
| private const string listQueryMethodName = "list"; | |
| private const char shorthandDelimiter = '-'; | |
| private XmlElement doc; | |
| public XmlNode(XmlDocument xml) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using Scriban; | |
| using Scriban.Parsing; | |
| using Scriban.Runtime; | |
| using System; | |
| using System.Collections.Generic; | |
| using System.IO; | |
| using System.Linq; | |
| using System.Text; | |
| using System.Threading.Tasks; | |
| using Wyam.Common.Configuration; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| This file exists just to name the gist... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // var parser = new FluidParser(); | |
| // parser.ParseFromFile("deane"); | |
| namespace DeaneBarker.Fluid | |
| { | |
| public static class FluidParserExtensions | |
| { | |
| public static IFluidTemplate ParseFromFile(this FluidParser parser, string path) | |
| { | |
| if(TemplateOptions.Default.FileProvider == null) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| namespace DeaneBarker | |
| { | |
| public class FakeFileProvider : IFileProvider | |
| { | |
| // I don't think Fluid ever calls these (fingers crossed) | |
| public IDirectoryContents GetDirectoryContents(string subpath) { throw new NotImplementedException(); } | |
| public IChangeToken Watch(string filter) { throw new NotImplementedException(); } | |
| public IFileInfo GetFileInfo(string path) | |
| { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class XmlValue : FluidValue | |
| { | |
| // The accessor to retrieve the text content of an element | |
| public static string TextAccessor { get; set; } = "_text"; | |
| // The accessor to retrieve a dictionary of attributes of an element | |
| public static string AttributesAccessor { get; set; } = "_attrs"; | |
| // The accessor to retrieve an array of the children of an element | |
| public static string ChildrenAccessor { get; set; } = "_children"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Example: | |
| // {% assign people = query.sortby['lastname'].direction['desc'].limit[2] %} | |
| public class QueryValue : FluidValue | |
| { | |
| // This is only needed for testing | |
| // In production, the query would be of some external resource | |
| private IEnumerable<Person> _items; | |
| // This is an anonymous method that handles the index |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| This is specifically designed to do as little as possible and have no dependencies. | |
| 1. It's styled sort of like a code editor (?) | |
| 2. Spellchecking is turned off (no red squiggly lines -- I hate those!) | |
| 3. The TAB key will insert 2 spaces, instead of moving focus | |
| 4. When you press enter, it will add leading spaces to match the leading spaces on the prior line | |
| ...and that's all it does. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Doc here: https://deanebarker.net/tech/code/extract-fragment-middleware/ | |
| // Requires AngleSharp (via Nuget) | |
| using AngleSharp.Html.Parser; | |
| using Microsoft.AspNetCore.Http; | |
| using System.IO; | |
| using System.Linq; | |
| using System.Threading.Tasks; | |
| namespace DeaneBarker.Optimizely.Middleware |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public void Configuration(IAppBuilder app) | |
| { | |
| // This is the URL template to call | |
| // The placeholders are optional -- they will be replaced with data specific to the content that is published | |
| var webhookUrl = "https://example.com?id={id}&type={type}&version={version}"; | |
| // Here is an example URL that would be called for this example: | |
| // https://example.com?id=17&type=ArticlePage&version=691 | |
| var events = ServiceLocator.Current.GetInstance<IContentEvents>(); |