Skip to content

Instantly share code, notes, and snippets.

@frankmeeuwsen
frankmeeuwsen / gist:dd84d96a6efcfd317055fe78968fdc72
Created May 10, 2024 07:03
Template RSS 2.0 for use with XSL in micro.blog
{{- printf "<?xml-stylesheet href=\"/css/rss.xsl\" type=\"text/xsl\"?>" | safeHTML -}}
<rss version="2.0">
<channel>
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description></description>
<image>
<url>{{ .Site.Author.avatar }}</url>
<title>The avatar of the author of this website</title>
@frankmeeuwsen
frankmeeuwsen / rss.xsl
Last active May 10, 2024 07:44
XSLT file to make the RSS feed for a micro.blog site readable for humans
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><xsl:value-of select="/rss/channel/title"/> RSS Feed</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta charset="UTF-8"/>
@frankmeeuwsen
frankmeeuwsen / gist:43b5825a21fe17cf57045a8775f5cf64
Created February 18, 2024 09:46
Karabiner - F19 (Capslock) to Control in Emacs
{
"description": "F19 (Capslock) to Control in Emacs",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$"
],
"type": "frontmost_application_if"
@frankmeeuwsen
frankmeeuwsen / gist:0d0e6c7d0fb18f33b5b85f8f1851888b
Created January 21, 2024 10:24
Dataview to get a list of files that are updated in the last 7 days
```dataview
TABLE file.name, file.ctime AS "Created"
WHERE file.ctime >= date(<% tp.date.now("YYYY-MM-DD", -7) %>) and file.ctime < date(<% tp.date.now("YYYY-MM-DD") %>)
sort file.ctime
```
@frankmeeuwsen
frankmeeuwsen / dataview
Created January 21, 2024 10:17
Dataview to get the output under a specific heading in your notes
```dataview
TABLE L.text AS "Articlelist"
FROM #weeknotes
FLATTEN file.lists as L
WHERE meta(L.section).subpath = "Articles"
SORT file.ctime DESC
LIMIT 25
```
Markdown to WordPress
if(op.attributes.exists("type") && op.attributes.getOne("type")=="outline"){
var wp_post = opml.parse(op.getCursorOpml());
var title = wp_post.opml.head.title;
var text = "";
var imagepart="";
for (i=0;i<wp_post.opml.body.subs[0].subs.length;i++){
if(wp_post.opml.body.subs[0].subs[i].image !==undefined){
var imagepart="![]("+string.multipleReplaceAll(wp_post.opml.body.subs[0].subs[i].image,{" ":"%20"})+")";
text=text+imagepart;
GetHour
var d = op.attributes.getOne("created");
dialog.alert(d);
dialog.alert (string.formatDate (d, "%Y/%m/%d/%H%M%S.html"));
@frankmeeuwsen
frankmeeuwsen / getURL.js
Created November 13, 2021 08:30
Get URL based on date and time
GetURL
var d = op.attributes.getOne("created");
dialog.alert (string.formatDate (d, "%Y/%m/%d/%H%M%S.html") + ".");
var makeURL = "http://oldschool.scripting.com/frankmeeuwsen/"+string.formatDate (d, "%Y/%m/%d/%H%M%S.html");
webBrowser.openUrl (makeURL)
console.log (makeURL)
if(op.attributes.exists("type") && op.attributes.getOne("type")=="outline"){
var wp_post = opml.parse(op.getCursorOpml());
var title = wp_post.opml.head.title;
var text = "";
var imagepart="";
for (i=0;i<wp_post.opml.body.subs[0].subs.length;i++){
if(wp_post.opml.body.subs[0].subs[i].image !==undefined){
var imagepart="<p><img src='"+wp_post.opml.body.subs[0].subs[i].image+"'></p>";
text=text+imagepart;
}
s3images=JSON.parse(http.readUrl("https://s3link/to/your/logfile.json",true));
var allimages="";
console.log(s3images);
for (i=0;i<s3images["actions"].length;i++){
console.log(s3images["actions"][i]["url"]);
if(s3images["actions"][i]["url"] !== undefined && s3images["actions"][i]["url"].substring(0,8) === 'https://'){
var link=s3images['actions'][i]['url'];
var html="<img class='s3images' src='"+link+"' onclick='prompt(\"copy\",\""+link+"\");' >";
allimages=allimages+html;
};