kgaughan / komorebi Goto Github PK
View Code? Open in Web Editor NEWA linklog engine
License: MIT License
A linklog engine
License: MIT License
I'm thinking of the likes of Bandcamp. Here's an example of such content:
<meta property="og:video" content="https://bandcamp.com/EmbeddedPlayer/v=2/track=1335882601/size=large/tracklist=false/artwork=small/">
<meta property="og:video:secure_url" content="https://bandcamp.com/EmbeddedPlayer/v=2/track=1335882601/size=large/tracklist=false/artwork=small/">
<meta property="og:video:type" content="text/html">
<meta property="og:video:height" content="120">
<meta property="og:video:width" content="400">
That could be translated into an iframe easily enough, though it's not something that could be wrapped in a façade, so some kind of lazy loading might work better here, so it only gets downloaded if it scrolls into view.
My old engine used to have a way to automatically turn YouTube URLs into embeds.
Here's an example of a post to get this working with again: https://talideon.com/inklings/3767
Here's an example embed from Vimeo:
{
"type": "video",
"version": "1.0",
"provider_name": "Vimeo",
"provider_url": "https://vimeo.com/",
"title": "Hand Drawn Logos",
"author_name": "Seb Lester",
"author_url": "https://vimeo.com/user5124626",
"is_plus": "1",
"account_type": "plus",
"html": "<iframe src=\"https://player.vimeo.com/video/127032605?app_id=122963\" width=\"438\" height=\"320\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Hand Drawn Logos\"></iframe>",
"width": 438,
"height": 320,
"duration": 154,
"description": "A compilation of the most recent hand drawn logos from my Instagram page, www.instagram.com/seblester.",
"thumbnail_url": "https://i.vimeocdn.com/video/517674965_295x166",
"thumbnail_width": 295,
"thumbnail_height": 217,
"thumbnail_url_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F517674965_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png",
"upload_date": "2015-05-06 08:48:18",
"video_id": 127032605,
"uri": "/videos/127032605"
}
It's a bit nicer than YouTube's one, but ensuring the thumbnail is the right size will take a bit more work.
Dealing with these is really annoying. What I think would be useful are:
Could be worth turning into a package of its own.
YouTube recently started making its embeds tiny. Here's an example:
<iframe
width="200"
height="113"
src="https://www.youtube.com/embed/1234567890a?feature=oembed"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
This is very, very small. I think I need a way to rescale things like these.
The app is currently a monolith. Ideally, it should be split in two with Komorebi itself becoming a Flask blueprint and the rump of the app using that blueprint.
Some form of inline editing would be nice, as would a way to preview embeds. This would be a good opportunity to play with HTMX.
It's one thing to have all these entries, but it's rather useless to keep them around if there's no way of searching them. SQLite has a decent enough FTS engine built in, so there ought to be a search facility added.
It might be useful to check older links occasionally for freshness, by doing a conditional GET/HEAD on them to ensure they're still around. Anything other than a 304 (or a 200 for some dynamically generated pages) should be flagged.
Some kind of report of their status might also be nice.
Komorebi should have a mechanism for generating sitemaps, including a flag to accept a last modification date, so it only generates the new sitemap if necessary.
Accompanying this will be a script to manage a sitemap index.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.