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:
+8
-9
@@ -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
|
||||
|
||||
@@ -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}>`
|
||||
}, '')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user