Skip to content

Instantly share code, notes, and snippets.

@leekelleher
leekelleher / micropub.php
Last active August 2, 2026 12:35 — forked from adactio/micropub.php
Minimal micropub endpoint.
<?php
# Minimal micropub endpoint by @adactio.
# https://gist.github.com/adactio/8168e6b78da7b16a4644
# Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
# http://creativecommons.org/publicdomain/zero/1.0/
# Modifications by @leekelleher.
$site_url = 'https://leekelleher.com/';
$token_endpoint = 'https://tokens.indieauth.com/token';
using System.Collections.Generic;
using System.Linq;
using Umbraco.Community.Contentment.DataEditors;
using Umbraco.Core.PropertyEditors;
using Umbraco.Web;
namespace MyWebsite.DataSources
{
public class PropertyDataDataSource : IDataListSource
{

The following code is intended for use as an overloaded extension for the GetPropertyValue<T>(string alias, bool recurse) method when getting strongly typed values back.

This example uses Archetype where in Umbraco v7.1.8 calling such a property value recursively returns an ArchetypeModel with 0 fieldsets.

There could be other possible applications for allowing a developer to determine the logic when GetPropertyValue(string alias, bool recurse) is trying to get a value recursively but accepts it.

System overview
Staff, roles & responsibilities
Environments
Applications
Software Licenses
Version control
Process Flows
Documentation
Support & Maintenance
Issue Submission & Resolution
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umbraco.library="urn:umbraco.library"
exclude-result-prefixes="umbraco.library">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
<xsl:param name="currentPage" />
<xsl:variable name="separator" select="string('|')" />