- const { effect,loop,source,sub } = theme.subtitle
- let subContent = sub || new Array()

case source
  when 1
    script.
      function subtitleType () {
        fetch('https://v1.hitokoto.cn')
          .then(response => response.json())
          .then(data => {
            if (!{effect}) {
              const from = '出自 ' + data.from
              const sub = !{JSON.stringify(subContent)}
              sub.unshift(data.hitokoto, from)
              window.typed = new Typed('#subtitle', {
                strings: sub,
                startDelay: 300,
                typeSpeed: 150,
                loop: !{loop},
                backSpeed: 50,
              })
            } else {
              document.getElementById('subtitle').innerHTML = data.hitokoto
            }
          })
      }

      if (!{effect}) {
        if (typeof Typed === 'function') {
          subtitleType()
        } else {
          getScript('!{url_for(theme.asset.typed)}').then(subtitleType)
        }
      } else {
        subtitleType()
      }

  when 2
    script.
      function subtitleType () {
        getScript('https://yijuzhan.com/api/word.php?m=js').then(() => {
          const con = str[0]
          if (!{effect}) {
            const from = '出自 ' + str[1]
            const sub = !{JSON.stringify(subContent)}
            sub.unshift(con, from)
            window.typed = new Typed('#subtitle', {
              strings: sub,
              startDelay: 300,
              typeSpeed: 150,
              loop: !{loop},
              backSpeed: 50,
            })
          } else {
            document.getElementById('subtitle').innerHTML = con
          }
        })
      }

      if (!{effect}) {
        if (typeof Typed === 'function') {
          subtitleType()
        } else {
          getScript('!{url_for(theme.asset.typed)}').then(subtitleType)
        }
      } else {
        subtitleType()
      }

  when 3
    script.
      function subtitleType () {
        getScript('https://sdk.jinrishici.com/v2/browser/jinrishici.js').then(() => {
          jinrishici.load(result =>{
            if (!{effect}) {
              const sub = !{JSON.stringify(subContent)}
              const content = result.data.content
              sub.unshift(content)
              window.typed = new Typed('#subtitle', {
                strings: sub,
                startDelay: 300,
                typeSpeed: 150,
                loop: !{loop},
                backSpeed: 50,
              })
            } else {
              document.getElementById('subtitle').innerHTML = result.data.content
            }
          })
        })
      }

      if (!{effect}) {
        if (typeof Typed === 'function') {
          subtitleType()
        } else {
          getScript('!{url_for(theme.asset.typed)}').then(subtitleType)
        }
      } else {
        subtitleType()
      }

  default
    - subContent = subContent.length ? subContent : new Array(config.subtitle)
    script.
      function subtitleType () {
        if (!{effect}) { 
          window.typed = new Typed("#subtitle", {
            strings: !{JSON.stringify(subContent)},
            startDelay: 300,
            typeSpeed: 150,
            loop: !{loop},
            backSpeed: 50
          })
        } else {
          document.getElementById("subtitle").innerHTML = '!{subContent[0]}'
        }
      }

      if (!{effect}) {
        if (typeof Typed === 'function') {
          subtitleType()
        } else {
          getScript('!{url_for(theme.asset.typed)}').then(subtitleType)
        }
      } else {
        subtitleType()
      }
