Sommerregen / grav-plugin-external-links

This plugin adds small icons to external and mailto links, informing users the link will take them to a new site or open their email client.
Other
16 stars 14 forks source link

Plugin interferres with the snipcart plugin #2

Closed nickbe closed 9 years ago

nickbe commented 9 years ago

After installing, the snipcart plugin throws an error: "Creating default object from empty value"

Cheers Nick

Sommerregen commented 9 years ago

Hi @nickbe,

can you clarify your issue i.e. attach the "Whoops"-page or provide me with more informations? Hoewever I downloaded the Shop skeleton with Grav v0.9.17, re-installed latest SnipCart v1.2.1 and installed External Links v1.1.3. No error occoured.

Maybe you have other plugins active?

nickbe commented 9 years ago

These are all the currently installed plugins: archives breadcrumbs error featherlight feed github gmaps highlight lightslider pagination precache problems random relatedpages simple_form sitemap smartypants snipcart srcset-fallback taxonomylist videoembed

nickbe commented 9 years ago

What happens is that in 'text' mode, lighslider simply shows the first image, but no slide controls or auto slide activity. In 'image' mode you see all the images one above the other. I think because the plugin does not honor any css any more.

Maybe there's still some closing unclosed tag somewhere...

nickbe commented 9 years ago

shit. I'm sorry... somehow my github posts were tangled. The first post

After installing, the snipcart plugin throws an error: "Creating default object from empty value"

wasn't for you. The rest though is in fact for you :)

Sorry about that

Sommerregen commented 9 years ago

Alright. Today I installed all of your plugins in a fresh Grav install, created specific test pages for each plugin, hoping to reproduce your issue. But no way.

I even set the option mode: text in a page for the LightSlider plugin as you said changing the default configuration from the README to

---
title: Slider Content
routable: false
visible: false
lightslider:
    slider_type: text
    type_text_vertical_padding: 70px;
    type_text_horizontal_padding: 50px;
    type_text_brightness: -100
    mode: text
    pager: 'true'
    controls: 'true'
    keyPress: 'true'
    loop: 'true'
    mode: 'fade'
    pause: 2000
    speed: 1000
---

# Shop Geek Stuff
## We have all your **geek** needs covered..
___
# SnipCart Powered
## **Grav** plus **SnipCart** equals easy shopping
___
# A Huge Variety
## A great selection of **bits** and **bobs**

All in all, please check again your LightSlider configuration or your page. It would be really helpful for me, if you can print out the content, which causes the issue, here.

I think because the plugin does not honor any css any more.

It is not possible that the External Links plugin will break any other plugin CSS, since it only acts on page contents (the contents in your Markdown-files located under user/pages).

Maybe there's still some closing unclosed tag somewhere...

This is more likely as the plugin modifies content based on DOM parsing and editing. However since External Links v1.1.3 the plugin is now compliant to HTML5, meaning self-closing tags such as <hr /> will be outputted as such and block elements as e.g. <i>italic</i> (the latter wasn't the case for v1.1.2). That's why it shouldn't leave a tag unclosed anymore.

Please note, that from the scratch this plugin won't fix wrong fromatted content of your page, you are causing on your own. The plugin tries its best, but it only sees the content how a browser will see it. In other words, please check whether your content is valid HTML markup and you haven't forgotten any closing tags.

nickbe commented 9 years ago

Ok, I just rechecked everything. Pages works 100% before installing plugin. I installed the plugin with:

gpm install external_links

Refresh the page... and lightslider control vanish immediately.

This is the configuration I'm using for lightslider.md:

---
title: Slider Content
routable: false
visible: false
lightslider:
    enabled: true
    built_in_css: true
    unique_id: lightSlider_01
    slider_type: text
    type_text_height: 510px
    type_text_vertical_padding: 180px
    type_text_horizontal_padding: 50px
    type_text_brightness: -15
    item: 1
    slideMove: 1
    slideMargin: 0
    loop: 'true'
    mode: 'slide'
    controls: 'true'
    keyPress: 'true'
    auto: 'true'
    pause: 8000
    speed: 1000
    pager: 'true'
    gallery: 'true'
    gallery_thumb_width: 100
    gallery_thumb_height: 100
    gallery_margin: 15
    gallery_thumb_margin: 5
    enableTouch: 'true'
    enableDrag: 'true'
---

# Shop Geek Stuff
## We have all your **geek** needs covered..
___
Sommerregen commented 9 years ago

Hi @nickbe,

sorry for my late answer. I copied your working example and tried it out, but unfortunately I can't reproduce your issue. The best would be to inspect your HTML with the browser (e.g. FireBug or Chrome Tools) now and tell me on that, what is going wrong.

To do that, check your site with and without External Links plugin enabled and if you can't find the problem, please copy in both cases the source code of the HTML here.

Sommerregen commented 9 years ago

Although I can't reproduce your issue, please be patient. Currently, I'm rewriting the plugin making it more stable and less interfering with other plugins, i.e. it parses and inspects just links instead of the whole content. Probably your issue will be automatically fixed with my changes in the next release.

Sommerregen commented 9 years ago

Next release is rolled out and should fix your problem.