[p2pu-dev] jsFiddle and Syntax Highlighting

Dan Diebolt dandiebolt at gmail.com
Fri Sep 16 23:22:05 UTC 2011


The URL patterns that are most useful for embedding within P2PU are

(1) http://jsfiddle.net/user/slug/embedded/
(2) http://jsfiddle.net/user/slug/embedded/tabs/


and perhaps

(3) http://jsfiddle.net/user/slug/show/


No need for anonymous fiddles, unembedded fiddles or skins. Tabs above means
any comma separated combination of {result, html, js, css and resources}. I
include case (3) because it in essence allows for a generic <iframe> from
jsFiddle.net and blessed as safe if supported by embed.ly.

On Fri, Sep 16, 2011 at 6:29 PM, Piotr Zalewa <piotr at zalewa.info> wrote:

> I didn't knew about embed.ly
>
> Here is the regexp part from urls.py responsible for embedded
>
> # embedded
> r'^(?P<slug>[a-zA-Z0-9]{5})/**embedded/$'
> r'^(?P<slug>[a-zA-Z0-9]{5})/**embedded/(?P<tabs>.*)/(?P<**skin>\w+)/$'
> r'^(?P<slug>[a-zA-Z0-9]{5})/**embedded/(?P<tabs>.*)/$'
> r'^(?P<slug>[a-zA-Z0-9]{5})/(?**P<version>\d+)/embedded/$'
> r'^(?P<slug>[a-zA-Z0-9]{5})/(?**P<version>\d+)/embedded/(?P<**
> tabs>.*)/(?P<skin>\w+)/$'
> r'^(?P<slug>[a-zA-Z0-9]{5})/(?**P<version>\d+)/embedded/(?P<**tabs>.*)/$'
> name='embedded_with_version_**and_tabs'),
> r'^(?P<author>\w+)/(?P<slug>[**a-zA-Z0-9]{5})/embedded/$'
> r'^(?P<author>\w+)/(?P<slug>[**a-zA-Z0-9]{5})/embedded/(?P<**
> tabs>.*)/(?P<skin>\w+)/$'
> r'^(?P<author>\w+)/(?P<slug>[**a-zA-Z0-9]{5})/embedded/(?P<**tabs>.*)/$'
> r'^(?P<author>\w+)/(?P<slug>[**a-zA-Z0-9]{5})/(?P<version>\d+**
> )/embedded/$'
> r'^(?P<author>\w+)/(?P<slug>[**a-zA-Z0-9]{5})/(?P<version>\d+**
> )/embedded/(?P<tabs>.*)/(?P<**skin>\w+)/$'
> r'^(?P<author>\w+)/(?P<slug>[**a-zA-Z0-9]{5})/(?P<version>\d+**
> )/embedded/(?P<tabs>.*)/$'
>
> Names are explained in http://doc.jsfiddle.net/use/**embedding.html<http://doc.jsfiddle.net/use/embedding.html>
>
> If someone would like to talk to me I'm sitting next to Exhibit Hall 1
> entrence. (gchat zaloon at gmail.com)
>
> zalun
>
>
> On 09/16/11 17:55, Dan Diebolt wrote:
>
>> I am fairly certain that the problem with the jsFiddle embed is in the
>> regular expression matching embedly uses to parse the ebmeded url.
>> jsFiddle URLs can have a wide range of forms as they communicate the
>> configuration of the fiddle using extra url paths. As a preliminary
>> investigation I sent an inquiry to the jsFiddle mailing list and perhaps
>> Zalun et al will come up with an answer. Then I will contact embed.ly
>> <http://embed.ly> and hopefully they will get jsFiddle on the provider
>> list.
>>
>> ==============================**============
>>
>> A platform I work with (p2pu.org <http://p2pu.org/>) has attempted to
>> use embed.ly <http://embed.ly/> to come up with a shortcode to embed
>>
>> jsFiddles into their platofrm via their configuration of CKEditor. Here
>> is an example of the embed shortcode that works:
>>
>> [embed:http://jsfiddle.net/**dandiebolt/agaCq/<http://jsfiddle.net/dandiebolt/agaCq/>
>> ]
>>
>> Although jsFiddle is not on Embedly's provider list
>>
>> http://api.embed.ly/v1/api/**services<http://api.embed.ly/v1/api/services>
>>
>> various forms of the jsFiddle URL do embed. I am not sure why that
>> happens but I suspect that the reason it does not embed in other cases
>> is because they are using a overly simplified regular expression to
>> match jsFiddle URLs. These details may not be to interesting to you but
>> I would like to pose the independent question as to what regular
>> expression does match a jsFiddle URL taking into account all the
>> features a jsFiddle may have:
>>
>>    * anonymous fiddles (no user)
>>    * characters encoding the jsFiddle ID
>>    * jsFiddle versions
>>    * stylesheets
>>    * show
>>    * default embed with no tabs specified
>>    * embed with tabs specified.
>>    * dependancies
>>
>> Here is my crude attempt to write a regexp for a jsFiddle URL with
>> various capturing parentheses tossed in:
>>
>> /
>>  (jsfiddle\.net\/)
>>  ([a-zA-Z0-9]\/)?
>>  ([a-zA-Z0-9]\/)
>>  (show\/|embedded\/((html|css|**js|resources|result){0,5}\/([**
>> a-zA-Z0-9])?\/)?
>> /
>>
>> I have no idea what characters are allowed for the jsFiddle ID or user
>> names so I just specified alphanumerics. Also I overlooked version
>> numbers, & dependancies when I typed this regexp. Moreover I never
>> tested it.
>>
>> So if someone wants a challenge I would like to find the regexp that
>> matches all jsFiddle URLs without getting too anal. The key area is
>> focus on is the embedded path which can contain tabs (and you apparently
>> can list a tab twice) because the whole goal of embedly is to embed the
>> jsFiddle URL in an iframe on blog or cms.
>>
>> My overall goal is to get embed.ly <http://embed.ly> to support jsFiddle
>>
>> embeds and I will bird dog that issue but it would be a nice piece of
>> information to have a regexp for matching any jsFiddle.
>>
>>
>>
>>
>> ______________________________**_________________
>> p2pu-dev mailing list
>> p2pu-dev at lists.p2pu.org
>> http://lists.p2pu.org/mailman/**listinfo/p2pu-dev<http://lists.p2pu.org/mailman/listinfo/p2pu-dev>
>>
>
> ______________________________**_________________
> p2pu-dev mailing list
> p2pu-dev at lists.p2pu.org
> http://lists.p2pu.org/mailman/**listinfo/p2pu-dev<http://lists.p2pu.org/mailman/listinfo/p2pu-dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p2pu.org/pipermail/p2pu-dev/attachments/20110916/ac7ced45/attachment-0001.html>


More information about the p2pu-dev mailing list