2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-06-08 22:02:25 +03:00

fix: follow html specs with regards to end tags (#314)

This commit is contained in:
Pim
2019-01-28 15:07:04 +01:00
committed by Alexander Lichter
parent f79f5b3d2f
commit a21037f45e
2 changed files with 16 additions and 14 deletions
+8 -9
View File
@@ -1,19 +1,18 @@
language: node_js
node_js:
- "8"
- "11"
cache:
yarn: true
directories:
- $HOME/.npm
- $HOME/.yarn-cache
- node_modules
branches:
only:
- master
node_js:
- "6"
before_install:
- npm i -g yarn --cache-min 999999999
install:
- yarn --force
- yarn install
script:
- yarn lint
- yarn test
after_script:
- yarn run codecov
after_success:
- yarn codecov
+8 -5
View File
@@ -37,17 +37,20 @@ export default function _tagGenerator (options = {}) {
// grab child content from one of these attributes, if possible
const content = tag.innerHTML || tag.cssText || ''
// these tag types will have content inserted
const closed = ['noscript', 'script', 'style'].indexOf(type) === -1
// generate tag exactly without any other redundant attribute
const observeTag = tag.once
? ''
: `${attribute}="true" `
// these tags have no end tag
const hasEndTag = !['base', 'meta', 'link'].includes(type)
// these tag types will have content inserted
const hasContent = hasEndTag && ['noscript', 'script', 'style'].includes(type)
// the final string for this specific tag
return closed
? `${tagsStr}<${type} ${observeTag}${attrs}/>`
return !hasContent
? `${tagsStr}<${type} ${observeTag}${attrs}${hasEndTag ? '/' : ''}>`
: `${tagsStr}<${type} ${observeTag}${attrs}>${content}</${type}>`
}, '')
}