#petermolnarI've ended up alternating the cycles between creating content and adding new technical stuff
#[kevinmarks]Aaron can call his zip in zip structure a zipblockchain and get vc funding
#petermolnarI need some CSS help: apparently my footnotes link look different on Chrome, as they are not inline but number. [gap line] [link in next line] and I have no idea why
#ZegnatLooks the same to me Fx-vs-Chromium, petermolnar
singpolyma, eli_oat and sebboh` joined the channel
#voxpelliMarkdown over Micropub isn't really possible – right? One either transfer plain text or HTML and the plain text should be exactly that, not some kind of hidden format like Markdown – right?
#voxpelliIf one were to transfer Markdown over Micropub, then one would really have to do it the same way as HTML is transferred, right? And explicitly define it as being Markdown?
#voxpelliaaronpk: but how do a server know that the client intended it to be markdown or plain text? an endpoint that treats all plain text as markdown will have a hard time with clients that doesn't send markdown'
#voxpelliI guess eg. OwnYourGram sends plain text – an endpoint that would support markdown in plain texts would then all of the sudden start parsing OwnYourGram notes as markdown then?
#sknebelyeah, if you want an endpoint that supports both plaintext and markdown as different formats you'll need to detect that somehow
#sknebelyou could go by client_id to filter out special cases like OYG, if I remember right sebsel has some magic marker at the beginning
#voxpellias markdown can require some text to be escaped to be presented correctly and that text will appear incorrectly if not sent through a Markdown processor it would be hard for a Micropub client to support both Markdown and non-Markdown endpoints with the same content
#sknebelI'll have to add something for HTML as well, since existing micropub clients are quite inflexible when it comes to posting HTML
#sebselIf the first line of my content starts with '# ', I remove it and make it the content of the name-field, yes.
#sknebelah, ok, not formatting format. then we just talked about that at the river in Nürnberg ;)
#voxpelliMy decision was to convert my Markdown to HTML, send it as supported mark up over Micropub and then if I wanted to save it as Markdown in my endpoint as well, so that the data was always transfered in standard markup
#sknebelI have a draft of an Micropub extension for more formats flying around somewhere, but there was something I didn't find a good solution for
#voxpelliAs I want to always store my stuff as Markdown I needed to do that conversion for clients like Quill anyway
#sknebelI think it was "how can a client querying post content indicate it supports said extension"
#voxpelliI'm also not sure what the strict advantage would be to support alternative markup languages over Micropub – wouldn't it just be better if everyone used HTML?
#voxpellisebsel: so if you connect to OwnYourGram and add a typical Instagram post that's just hashtags all over, then you will get a somewhat unexpected result ;)
#sknebelIf my backend storage format isn't HTML I wouldn't want to convert that to HTML and back just to get it through MP
#voxpellisure, if both you and a micropub client both support markdown, then that wouldn't be necessary, but you would still need to do it if you would want to support clients that save HTML-content, right?
#sebselvoxpelli I don't use OwnYourGram, but had the problem with import, yeah. For the script I only check "#<space>", not just "#". And I have a pre-markdown filter, which converts hashtags to links (and categories), so I don't have the problem anymore.
#sknebelvoxpelli: yeah, but I'd also want to be able edit my storage format directly
#sknebelotherwise, I'd just use HTML as the storage format
#sknebel(which indeed is something my site can do, and I use for posts where I want markup I currently can't generate)
j12t joined the channel
#voxpellisebsel: I guess that works as some kind of hack :/
#voxpelliFeels like something there should be a best practice on
#voxpelliFeels like eg. Manton would have actually preferred to disallow HTML altogether and just allow Markdown
#sknebelcurrent state (I think) is "Markdown is a plaintext format, a client that just can edit any plaintext can edit markdown, if you want to make a markdown specific client take care to only use it with endpoints that do markdown when you give them plain tex"
#LoqiMarkdown is a way of writing and interpreting plain text so that it can optionally be converted to more explicitly meaningful or richly styled text (e.g https://indieweb.org/markdown
#voxpellisknebel: but that means that either an endpoint will have to treat everything as markdown or nothing as markdown and that will, if markdown gets popular, that all clients will have to expect their plain text to be handled as markdown
#aaronpkAlso just keep in mind your backend doesn't have to store everything the same. My posts are stored in either plaintext, markdown, or HTML, and there's a property on the post that indicates the content type
#sknebelvoxpelli: yes. not saying that I think that's good, just that that seems to be the state of things
#sknebelaaronpk: since that was where I got stuck, is there a decided way to indicate support for micropub extensions in queries? when posting I can check the query-endpoint for a special value to discover server support and then use an mp-… property, but while querying?
#aaronpkalso the thing about markdown... there is like 5 versions. So how do you indicate which markdown parser the server supports?
#aaronpksknebel: we need to experiment more with the query stuff
#sknebelI'm kind of down on micropub right now, but I could just try to implement my concept
#sknebel(although I mostly implemented MP to avoid having to write clients, but since that didn't pan out anyways...)
#voxpelliaaronpk: but how do you know when to save somethingas plain text or markdown if it's not indicated – how do you know when a "*" is meant to be interpreted as Markdown or not?
#voxpelli(if one would standardize support it would probably make sense to standardize on CommonMark as Common Mark tried to standardize all the different Markdown variants)
#voxpelliCode snippets can often have patterns in them that can be interpreted as Markdown
#voxpelliSo if I always interpret plain text as markdown and then try to post a code snippet as a note in Quill I will get something very unexpected at my site unless Quill escapes the code so that it's Markdown compatible
[aaronpk] joined the channel
#[aaronpk]I was just saying that you don't have to convert everything to the same format when you store it
#[aaronpk]Do you have a situation where you want to use a Micropub client that understands markdown right now?
#voxpelliaaronpk: the case was that Manton was thinking about moving all of the Micro.blog stuff to Markdown
#voxpelliAnd I want to ensure my endpoint works with his client, but then I need to know if I'm sent Markdown or not
#[aaronpk]I haven't actually found it necessary yet, I either post text notes or HTML from quill and if I'm writing a markdown post I usually am writing it by hand in my storage
#voxpelli> After the next version of the Micro.blog iOS app ships, Micro.blog will start requiring Markdown and escaping HTML tags from Micropub, just as it currently does from the web interface.
#voxpelliIf that's where he wants to go I'm failing at pointing him in a good direction – I don't think plainly sending markdown as plain text is a good long term solution
#voxpelliWould love to be able to give him a solution like sknebel's if he feels he wants to enforce Markdown
#[aaronpk]Do you know if he's actually using the HTML feature of Micropub or is he incorrectly not currently escaping HTML tags sent in Micropub plaintext requests?
#voxpelliHmm, I haven't tried posting to my Micro.blog endpoint, just tried from Micro.blog to my endpoint
#[aaronpk]Oops the Micro.blog app apparently doesn't send replies via Micropub
#[aaronpk]I haven't actually looked at the raw request it sends, does it send HTML or text?
snarfed joined the channel
#voxpelliI haven't looked either, but I think it's just text from the app – there are no formatting possibilities at all there (apart from maybe Markdown)
#aaronpkIf that's the case then he should have been escaping HTML from the beginning and this is just a bug fix
#voxpelliit do highlight the fact that one may want to indicate to eg. Quill that one doesn't support HTML at all and/or be able to communicate to Quill when an unsupported HTML-feature is used
#voxpellibecause right now if one is sent html-content, there's really no good way to respond if one doesn't want to accept that content?
#[aaronpk]Yeah, we haven't really done much feature detection in micropub yet
#[aaronpk]Yeah the only response there would be "bad request"
#voxpelliand actually be preferable I think – if one could whitelist eg. links, bold, italic but communicate that everything else if forbidden, then that should work for most scenarios
#[aaronpk]That's certainly worth some experimentation
#sknebelI'll try to find notes again and post them somewhere, they should at least be a basis for discussion
#sknebel24 hours until sknebel, did you find your MP content type notes?
#LoqiI added a countdown scheduled for 2017-07-26 4:35pm CEST (#6057)
#[aaronpk]The trick with the capability indicator is id want that to be optional and an upgrade thing, so that someone building a server doesn't have to build that just to get going
#voxpelliadding a "formats" to the query would go pretty far
#voxpellione problem I noticed is that in https://www.w3.org/TR/micropub/#html-content it says that unless the content is HTML a string should always be returned, and in the case of eg. markdown or some other data extension (like languages which we have talked about) it would still have to be an object
#voxpellibeing able to return eg. "content": {"value": "Ett exempel på svenska", "lang": "sv_SE"} would be good for the extensibility
#voxpellilikewise "content": {"markdown": "**awesome**"} if that would be the format of a possible markdown extension
#sknebelmy idea was to extend that pattern and just do "content": {"CommonMark":"…"} or something
#sknebeland for querying the question is how to indicate support in the query. if mp-… can be used as a command for queries it could just be an added mp-<magic word>=true
#sknebelvoxpelli: yes, I only thought about a general way of doing it and offering a list, since I'd be fine with just a dropdown on the client to choose how my text is interpreted serverside. then defining a specific name to use for e.g. commonmark is just a tiny extra piece
#[aaronpk]I'd think that would be part of the q=config response
#voxpellisknebel: I'm thinking that in ?q=config one returns "formats": ["commonmark"]
#voxpelliadding to ?q=config is extra simple in my endpoint
#sknebel(I actually had an object with id and a description text, and I think I put it in a an extra ?q=, but thats details)
#voxpellisknebel: I'm thinking that commonmark won't be a custom format that needs any description text etc but rather a standardized format that all who supports it already knows what it is
#sknebelso everything gets an id and a text and people then can say "ok, we will always give commonmark the id "commonmark" and that's commonmark support standardized
#voxpelliUnless you want it to also support fully custom formats, like me doing a VoxPelliScript for my posts and me wanting to expose that custom format to Quill etc, then any possible future format could just do the same thing as commonmark does and everyone supporting that would know what it is as well
#sknebelvoxpelli: of course, but that doesn't matter IMHO. point is, I'd want to have a description text for fully custom formats, and commonmark then can just a be speical case of that
#voxpelli[miklb]: yeah, server needs to know it is safe to parse the text as markdown or not
[chrisaldrich] joined the channel
#voxpellisknebel: I'm not sure there's a need for that :/
#voxpelliand if there's a need for that, what that need would look like
#voxpelli[miklb]: Ever accidentally posted a code snippet into a markdown-supporting textarea without escaping it? :P
#sknebel[miklb]: more like is "#indieweb" a markdown headline or a #hashtag?
#[miklb]what flavor of markdown parses #indieweb as <h1>indieweb</h1> ?
#sknebelvoxpelli: well, I don't care about commonmark and want custom formats with a note what they exactly were, so that's why I choose that design. one could of course say "if it'sjust a string, that's the id" and thus allow giving just well-known ids instead
#voxpellisknebel: yeah, sounded like we were proposing the same thing initially, but now I see that we aren't so we have two different use cases to solve and then maybe two different designs that needs dogfooding and proof :)
#[aaronpk]Hm I didn't think space was required but I could be wrong
#sknebelvoxpelli: I don't see how "adding an optional info text" is such a big difference ;)
#voxpellisknebel: well, your use case is: Support arbitrary custom format. The use case I brought up from Manton is: Support Markdown
#[aaronpk]voxpelli: we originally had just a string for syndicate-to and then changed it to id/name because we realized clients would want to show more friendly text
#voxpellisknebel: you want to be able to select a format in an editor, I just wants a client to know whether it can send markdown to an endpoint or not and react to that however it choses
#sknebelso don't show the list if your a pure markdown editor
#voxpelli[aaronpk]: yeah, that makes sense when the values are fully custom
#voxpellisknebel: HTML is already supported as an explicit format, no reason markdown can't as well, and no reason custom formats can't be supported if markdown is supported explicitly as wlel, so they can both be proven and implemented individually
#sknebelbut the shared problem space is so large that I don't see much point in treating them differently
tantek joined the channel
#voxpellisknebel: I would be very hesitant to support custom formats as top level keys, so that eg. a "formats": ["random-id"] would be used as: "content": {"random-id": "value"}, as the values of an object can be extended by other extensions – adding eg. language support etc
#voxpellisknebel: so then the design would have to be something like "content": {"value": "text", "format": "random-id"}, and that looks much more verbose than "content": {"markdown": "text"}
#voxpelliif the key in the content object should be a top level key, then it should be standardized and documented so that other extensions can know whether its reasonable to expect a conflict with an existing name or not. Arbitrary keys should not be put in there, such values should be limited to values
#sknebel, but that difference honestly looks totally trivial to me
#voxpellito me it doesn't as it shows how the custom formats are a more complex solution than just standardizing markdown/commonmark as a new format on the same level of the existing html format + to define a mechanism for discovering which such formats athat are supported
#sknebelbut custom formats also is just a mechanism to discovering which formats are supported and then sending some indication which of those formats you want?
#voxpellinot if its meant to support arbitrary formats, then its something else
#voxpelliguesses that actually this should really be rooted in the microformat data model as that's where the Micropub model comes from
#sknebelwhy? your swapping a central registry (micropub extensions describing which values are allowed) for a server-given list, that's all
#sknebeland if you say that saying "format":"markdown" isntead of "markdown":"text" is noticably "more complex" then I guess we just have to disagree on that
#sknebel(I'd probably be fine with putting the arbitrary keys in the content object, if a server operator creates a conflict with another extension there that's their problem and one they can easily solve
#voxpellisknebel: one maps to the existing style of html, the other constructs a new style, and such a new style needs to have a reason for it, and I'm just saying that proving and dogfooding that can be separate from finding a solution to supporting markdown
#voxpellisknebel: allowing arbitrary keys in an object conflicts with the idea of extensibility
#sknebelsince new keys can only happen there if a server supports it, and the server is the authority on the list I think it'd be tolerable, but agreed that avoiding it is better
#voxpelliit only requires one client and server do start using it for it to become a problem
#voxpelliI mean: The javascript standard had to change contains() to includes() for checking a value in an array just because Mootools or something had claimed contains() way back, so compatibility would break with all those sites otherwise
#petermolnarI'm just going to stick to markdown features Pandoc supports
#sknebelit only becomes a problem if said server wants to support a conflicting extension as well, and then they'll can easily rename their special format if it's really just one server. and if its more than one they totally should "reserve" that name as a "micropub extension"
#sknebelbut again, not against putting it in a value instead
#voxpelliBoth suggestions has merits and both needs to get implementations and traction and if custom formats gain traction in such a way that it makes sense for markdown to use it, then great, otherwise it feels like the markdown case on it own isn't enough to justify a full custom formats feature
#voxpelliBoth should be documented as brainstorms though
#sknebeland if people work out different ways of doing markdown and doing custom formats, now everyone who wants to support both (clients and servers) has to handle both cases
#voxpelli+ ensure that any discovery mechanism doesn't conflict between the two
#sknebeland given how even HTML isn't supported very widely I don't think that'd be good
#voxpelliWouldn't be the first time there are many ways to achieve the same thing in the IndieWeb world ;) Plurality has its ups and downs
#aaronpkwell it's too late to publish normative changes, but it's never too late to publish errata
#sknebel[miklb]: regarding headlines, commonmark indeed insists on the space, but e.g. the online demo on grubers site doesn't
#aaronpki'd say go ahead and open the issue, and luckily we have a call in 90 minutes and i can ask about the process
#[miklb]sknebel good to know. I guess I’ve just been writing it for so long I assume **my** way is the one true way™ ?
#sknebel[miklb]: one of the problems with just using the label "markdown" ;) but yeah, I also had to check to make sure
#[miklb]notes that Slack doesn’t use `**bold**` and `*italic*`
tantek joined the channel
#tantekmiklb `**bold**` and `*italic*` is one of the dumbest things in markdwon, because nearly no one did that in plain text before it got added to markdown, violating the first principle of markdown
#tanteklol, if you have to give a separate id or "type" for Markdown "content" then your markdown has failed. it's supposed to "just work" as plain text
#aaronpkit's a losing battle to go on a rant against markdown
#Loqi[sknebel] [miklb]: regarding headlines, commonmark indeed insists on the space, but e.g. the online demo on grubers site doesn't
#singpolymamarkdown is what I turn HTML emails back into so I can read them. works about 60% of the time (when there aren't tables-in-tables-in-tables for layout in the html)
#tantekit's squishy enough (frustrating enough) of a "thing" to be displaced in just one generation (~5 years) of developer turnover
#Loqi[voxpelli] #101 Should string really be a MUST for non-HTML content?
#sknebel(pretty sure the ** and * were in reStructuredText as well, and I think even it's predecessor Structured Text. but yes, no need to reheat that particular discussion)
#voxpellitantek: the issue isn't that Markdown doesn't work as text, the issue is that text doesn't necessarily work as Markdown, so you need to be sure that someone doesn't interpret something as Markdown when they are not intended to :/
#voxpellisknebel: are you editing? otherwise I'll throw in a pointer to that GitHub issue
#aaronpkhow many of my messages didn't come through at first? and why??
#tantekmiklb lol fair. I'm postponing the greater markdown battle for now, more important things to build first. In the mean time I'll just keep replacing my own need for md with an ever enhanced autolinker
#[aaronpk]I haven't actually looked at the raw request it sends, does it send HTML or text?
#voxpellitantek: the page as a whole? I just found it and felt that was the correct place to but a brainstorm, haven't really looked at the other stuff there
#tantekeven the very top of the page has very little context for it, then code examples that overlap the toc
#tantekvoxpelli: no I mean just load the page from the top and start reading. besides the overlapping text, it just immediately deep dives into very detailed issues without any overview
#tanteksince I don't know (can't understand) the purpose of the page, I'm not sure how to "fix" it
#voxpellitantek: yeah, feels like some suggestions was moved over there to be able to close down issues in GitHub, like eg. my user-facing error ones, could be that it was done in a hurry and then haven't gotten a makeover
#tantekaaronpk I'm still confused by what problem is being solved by explicitly typing commonmark, rather than just, on your server, treating your "plain text" as markdown
#aaronpkyou can't treat plaintext as markdown and vice versa
#tantekok I see: "else some types of content – like code snippets – will easily get misinterpreted. "
#tantekwould appreciate actual examples of this happening
#aaronpksame problem with trying to treat html as plaintext, some characters have special meaning
#tantekexcept HTML was never designed to be "just plain text, upgraded"
#LoqiAn autolink is a hyperlink that was automatically added to some text to link that text to an obvious or useful destination, like hyperlinking a URL in plaintext to the URL itself, linking hashtags to search results, and @-names to their profile pages https://indieweb.org/autolink
#sknebelyou're "disagreement" reads like "your stupid for having a usecase I don't understand" to me, sorry
#LoqiAn autoembed is an embedding of media, typically of an image or video, that was automatically added from a URL to that media, to provide immediate viewing and or direct interaction with that media https://indieweb.org/autoembed
#voxpelliI think most developers who have ever forgot to escape a piece of code when writing Markdown can relate to that example, so it's very much real
#tantekdefinitely no personal offense stated nor intended. if anything sounds dismissive, it's about the ideas, not the authors thereof
#aaronpklol that sounds like one of those twitter bio disclaimers
#tantekvoxpelli: like when trying to put HTML examples in a github comment and having them disappear?
#voxpelliOne criticism I can have against additional formats is that it makes Micropub diverge from MF2, those should maybe be documented
#tantekvoxpelli happens to me in like ~50% of my github comments (seriously) and it just makes me that much more critical of markdown and wanting to avoid ever depending on it
#aaronpkoh yeah you have to escape HTML with backticks on github
#tantekperhaps that was one of the big errors when markdown diverged from its roots - allowing (encouraging!) raw html
#voxpellitantek: totally, this issue is mainly about avoiding Markdown becoming the unofficial standard of plain text data in Micropub by making support for it explicit rather than implicit
#tantekvoxpelli: interesting reframing. ok will have to think about that to come up with an updated opinion
#tantekvoxpelli: hence I think my request for the names of markdown
#voxpellitantek: as it was triggered by Micro.blog thinking about moving to 100% Markdown and me then thinking that wow, this will cause issues when using it with eg. Quill to send notes such as in that example
#tantekaaronpk said "markdown started as that, and has changed" - and I feel like we really need to name those two differently so we can talk about them specifically rather than the whole family history of markdown
#tantekand if someone else doesn't name them, then I will (promise, not threat)
#aaronpkJohn Gruber's Markdown is the original one right?
#kodfabrik.seedited /Micropub-brainstorming (+92) "/* Additional data formats */ Restructure + add criticism section to encourage documentation of criticism against additional data formats" (view diff)
#[kevinmarks]if manton is going to converge on a variant he should pick one and name it accordingly. Using commonmark makes sense to me, as it is not specified to be ambiguous, unlike Gruberian markdown.
#tantekmiklb, I am particularly interested in your opinions of HTML, and especially in the context of "what has been lost". We may have more in common there than not. I have long term "HTML: The Good Parts" (book) draft I'm working on.
#tantekconsiders submitting patches to html2text to add mf2 parsing and emojis for people, events, etc.