tmplat-extension / tmplat

Browser extension that quickly and easily copies info on the current page using a simple and unique template system
https://tmplat.com
MIT License
53 stars 11 forks source link

New Standard Variables: Doh! #199

Closed neocotic closed 11 years ago

neocotic commented 11 years ago

How have I not thought of adding these before:

Obviously, these will only work in non-protected (i.e. non-chrome) pages but this would be very useful I imagine. Especially when coupled with the new wordCount operation that's being added in #193.

This'll probably be best implemented by only fetching the HTML from the content script and deriving the rest on-demand.

neocotic commented 11 years ago

I can't decide what the scope of html should be (i.e. the entire page source or just that of the body element). My current thinking is that html should be the entire page source but text and markdown should only apply to the contents of the body element ( unless it doesn't exist? ). For example;

# content.coffee
html: document.documentElement.outerHTML

# background.coffee
markdown: ->
  markdown = ''

  if @html
    container = document.createElement 'html'
    container.innerHTML = @html
    $container = $ container

    $body = $container.find 'body'
    markdown = md if $body.length then $body.html() else $container.html()

  markdown

text: ->
  text = ''

  if @html
    container = document.createElement 'html'
    container.innerHTML = @html
    $container = $ container

    $body = $container.find 'body'
    text = if $body.length then $body.text() else $container.text()

  text
neocotic commented 11 years ago

These new variables have been included in PR neocotic/template-chrome#2.