Skip to content
This repository has been archived by the owner on Feb 28, 2022. It is now read-only.

Internal Embeds #267

Closed
trieloff opened this issue Apr 17, 2019 · 2 comments · Fixed by #270
Closed

Internal Embeds #267

trieloff opened this issue Apr 17, 2019 · 2 comments · Fixed by #270
Labels

Comments

@trieloff
Copy link
Contributor

trieloff commented Apr 17, 2019

As a follow-up from #56, we should also enable internal embeds through relative rather than absolute links. The styles supported so far are:

  1. Gatsby-style: `video: https://www.youtube.com/embed/2Xc9gXyf2G4`

https://www.gatsbyjs.org/packages/gatsby-remark-embed-markdown/:

`markdown: sample-markdown-file.md`

I'd also support following keywords:

  • embed
  • html
  1. Link + Image-style: [![Audi R8](http://img.youtube.com/vi/KOxbO0EI4MA/0.jpg)](https://www.youtube.com/watch?v=KOxbO0EI4MA "Audi R8")

Should not be supported as we can't rely on the whitelist and would not be able to distinguish between an actual link and an internal embed.

  1. Image-style: ![](https://www.youtube.com/watch?v=KOxbO0EI4MA)
  2. iA-Writer-Style: https://www.youtube.com/watch?v=KOxbO0EI4MA (the URL is the only content of a paragraph)

Can both be supported when:

  • the link target is a relative path
  • that ends with the same extension as the current content, e.g. .md
  • or that ends with the same extension as the current URL, e.g. .html

In all cases there should be a fallback with <esi:remove> containing the normal rendered output.

@trieloff trieloff added the enhancement New feature or request label Apr 17, 2019
@trieloff
Copy link
Contributor Author

Internal embeds should be processed through a dedicated $file.embed.html pipeline (customizable)

trieloff added a commit that referenced this issue Apr 17, 2019
So far only the detection of local embeds has been implemented. As this requires access to some additional properties, many tests are broken for the time being

See #267
trieloff added a commit that referenced this issue Apr 18, 2019
The internal embed handler now requires access to some additional request properties that were not
mocked in all test cases

for #267
trieloff added a commit that referenced this issue Apr 18, 2019
Until now, a failed ESI include would fail silently, without a possible fallback. This change falls
back to the markdown rendered as HTML in case the ESI does not work, giving at least an
approximation of the content created.

fixes #267
trieloff added a commit to adobe/helix-cli that referenced this issue Apr 20, 2019
…ing can be achieved

When static is called with the `?esi=true` parameter, then all URL references in CSS files will be replaced with ESI tags that include the `.esi` version of the same resource. This `.esi` version will then resolve, with the help of adobe/helix-publish#61 to a long-cachable URL for the same resource.

Partial implementation of adobe/helix-pipeline#267
trieloff added a commit that referenced this issue Apr 23, 2019
The `script.js.esi` or `style.css.esi` resource will be replaced with a long-cacheable URL

implements #267
adobe-bot pushed a commit that referenced this issue Apr 25, 2019
# [1.8.0](v1.7.1...v1.8.0) (2019-04-25)

### Bug Fixes

* **embed:** provide fallback with esi:remove when esi include fails ([575391d](575391d)), closes [#267](#267)
* **html:** enable (dangerous) HTML in Markdown and pass it through ([93efaf7](93efaf7)), closes [#154](#154)
* **html:** ignore HTML tags when generating IDs for headlines ([bdad96c](bdad96c))

### Features

* **embeds:** detect internal embeds ([7af9356](7af9356)), closes [#267](#267)
* **transformer:** enable recursive processing in custom handler functions ([0d5193a](0d5193a))
@adobe-bot
Copy link

🎉 This issue has been resolved in version 1.8.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

trieloff pushed a commit to adobe/helix-cli that referenced this issue Apr 29, 2019
# [1.1.0](v1.0.0...v1.1.0) (2019-04-29)

### Bug Fixes

* **static:** normalize URLs in rewritten CSS and JS ([25964ba](25964ba))
* **static:** turn on ESI processing when ESI flag is set ([8b2436b](8b2436b))

### Features

* **static:** add ESI aliasing support for JavaScript modules ([1fa564d](1fa564d)), closes [/github.com/adobe/helix-pipeline/issues/224#issuecomment-476690621](https://github.com//github.com/adobe/helix-pipeline/issues/224/issues/issuecomment-476690621)
* **static:** Rewrite CSS URLs to Static ESI URLs so that better caching can be achieved ([396c55b](396c55b)), closes [adobe/helix-publish#61](adobe/helix-publish#61) [adobe/helix-pipeline#267](adobe/helix-pipeline#267)
trieloff pushed a commit to adobe/helix-cli that referenced this issue Apr 29, 2019
# [1.1.0](v1.0.0...v1.1.0) (2019-04-29)

### Bug Fixes

* **package:** update @adobe/helix-shared to version 0.10.5 ([8efda26](8efda26))
* **static:** normalize URLs in rewritten CSS and JS ([25964ba](25964ba))
* **static:** turn on ESI processing when ESI flag is set ([8b2436b](8b2436b))

### Features

* **static:** add ESI aliasing support for JavaScript modules ([1fa564d](1fa564d)), closes [/github.com/adobe/helix-pipeline/issues/224#issuecomment-476690621](https://github.com//github.com/adobe/helix-pipeline/issues/224/issues/issuecomment-476690621)
* **static:** Rewrite CSS URLs to Static ESI URLs so that better caching can be achieved ([396c55b](396c55b)), closes [adobe/helix-publish#61](adobe/helix-publish#61) [adobe/helix-pipeline#267](adobe/helix-pipeline#267)
adobe-bot pushed a commit that referenced this issue Apr 30, 2019
# [1.10.0](v1.9.2...v1.10.0) (2019-04-30)

### Bug Fixes

* **package:** update @adobe/helix-shared to version 0.10.5 ([54709a9](54709a9))
* **static:** change extension from .esi to .esi ([a936918](a936918))

### Features

* **html:** enable HAST parsing and serialization of HTML responses ([224c665](224c665)), closes [#285](#285)
* **html:** rewrite relative asset references to ESI resources ([dce696e](dce696e)), closes [#267](#267)
* **html:** rewrite static asset references to ESI includes that provide stable URLs ([aa2538f](aa2538f)), closes [#224](#224)
trieloff pushed a commit to adobe/helix-cli that referenced this issue May 6, 2019
# [2.0.0](v1.0.0...v2.0.0) (2019-05-06)

### Bug Fixes

* **package:** update @adobe/helix-shared to version 0.10.5 ([8efda26](8efda26))
* **package:** update @adobe/helix-shared to version 0.11.0 ([0de812b](0de812b))
* **package:** update @adobe/helix-shared to version 1.1.0 ([fabb0ab](fabb0ab))
* **package:** update chokidar to version 3.0.0 ([4688a0f](4688a0f))
* **package:** update dotenv to version 8.0.0 ([0786a94](0786a94))
* **package:** update snyk to version 1.154.1 ([3038ec9](3038ec9))
* **package:** update snyk to version 1.155.0 ([a8bb6d6](a8bb6d6))
* **package:** update snyk to version 1.156.0 ([e321706](e321706))
* **package:** update snyk to version 1.159.0 ([adeb477](adeb477))
* **package:** update snyk to version 1.161.0 ([79be958](79be958))
* **package:** update snyk to version 1.161.1 ([72ad988](72ad988))
* **static:** always return entry path for 404 errors ([84fe876](84fe876))
* **static:** cache error responses for 5 minutes ([4247842](4247842))
* **static:** handle more 404 errors with path ([ed5a887](ed5a887))
* **static:** normalize URLs in rewritten CSS and JS ([25964ba](25964ba))
* **static:** prevent possible XSS by sanitizing output ([97d6387](97d6387))
* **static:** return the original URL in case a static resource cannot get retieved for an ESI include ([3f6b3ff](3f6b3ff)), closes [#813](#813)
* **static:** turn on ESI processing when ESI flag is set ([8b2436b](8b2436b))
* **static:** use .url instead of .esi as extension for immutable resources ([70b9674](70b9674))

### Documentation

* **changelog:** explain switchover to version 2.0 ([920b39c](920b39c))

### Features

* **static:** add ESI aliasing support for JavaScript modules ([1fa564d](1fa564d)), closes [/github.com/adobe/helix-pipeline/issues/224#issuecomment-476690621](https://github.com//github.com/adobe/helix-pipeline/issues/224/issues/issuecomment-476690621)
* **static:** Rewrite CSS URLs to Static ESI URLs so that better caching can be achieved ([396c55b](396c55b)), closes [adobe/helix-publish#61](adobe/helix-publish#61) [adobe/helix-pipeline#267](adobe/helix-pipeline#267)

### BREAKING CHANGES

* **changelog:** not breaking any functionality, bumping to version 2.0 as the v1.* name space for
git tags has already been polluted
trieloff added a commit to adobe/helix-static that referenced this issue May 14, 2019
…ing can be achieved

When static is called with the `?esi=true` parameter, then all URL references in CSS files will be replaced with ESI tags that include the `.esi` version of the same resource. This `.esi` version will then resolve, with the help of adobe/helix-publish#61 to a long-cachable URL for the same resource.

Partial implementation of adobe/helix-pipeline#267
adobe-bot pushed a commit to adobe/helix-static that referenced this issue May 14, 2019
# 1.0.0 (2019-05-14)

### Bug Fixes

* **static:** always return entry path for 404 errors ([552ef3d](552ef3d))
* **static:** cache error responses for 5 minutes ([3173cea](3173cea))
* **static:** handle more 404 errors with path ([2c1ac18](2c1ac18))
* **static:** normalize URLs in rewritten CSS and JS ([f238adb](f238adb))
* **static:** prevent possible XSS by sanitizing output ([0795581](0795581))
* **static:** return the original URL in case a static resource cannot get retieved for an ESI include ([453c724](453c724)), closes [#813](https://github.com/adobe/helix-static/issues/813)
* **static:** turn on ESI processing when ESI flag is set ([a6d96b8](a6d96b8))
* **static:** use .url instead of .esi as extension for immutable resources ([d6c89f8](d6c89f8))

### Features

* **pipeline:** consistently use `context` instead of payload. ([ddea2cb](ddea2cb)), closes [#743](#743)
* **static:** add ESI aliasing support for JavaScript modules ([6c0d0d5](6c0d0d5)), closes [/github.com/adobe/helix-pipeline/issues/224#issuecomment-476690621](https://github.com//github.com/adobe/helix-pipeline/issues/224/issues/issuecomment-476690621)
* **static:** Rewrite CSS URLs to Static ESI URLs so that better caching can be achieved ([75b47e5](75b47e5)), closes [adobe/helix-publish#61](adobe/helix-publish#61) [adobe/helix-pipeline#267](adobe/helix-pipeline#267)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants