Sublime Forum

ExportHtml Plugin (rename from PrintHtml)

#45

Do you get some kind of error in the console?

I imagine it can’t resolve the path to your default color scheme file. If you don’t define a color scheme, it tries to use the current color scheme of your view. It looks in your settings file. It assumes that all color schemes are relative to your packages directory, so if your default color scheme path in Preferences.sublime-settings is not relative to the Packages directory, it will fail. What is the path defined in your Preferences.sublime-settings file? I might be able to tweak the logic to better handle paths.

0 Likes

#46

I didn’t get any errors in the console even turning on logging but in user settings I have this “color_scheme”: “C:\Documents and Settings\robert.gidney\Application Data\Sublime Text 2\Packages\Color Scheme - Default\Colorized-200878385388021-Kuroir Theme.tmTheme”,

0 Likes

#47

change this:

 "color_scheme": "C:\\Documents and Settings\\robert.gidney\\Application Data\\Sublime Text 2\\Packages\\Color Scheme - Default\\Colorized-200878385388021-Kuroir Theme.tmTheme"

to this:

 "color_scheme": "Packages\\Color Scheme - Default\\Colorized-200878385388021-Kuroir Theme.tmTheme"

You don’t need absolute path for Sublime. It’s default directory is “Sublime Text 2”.

I will also look into handling absolute paths, but this is not needed for your where yours is located.

0 Likes

#48

OK, I’ll change the path. The interesting thing is in OS X it is relative but not in Windows. This setting was put in automatically when choosing the color scheme from sublime preferences so it will be an issue on Windows when people set their themes that way. I’ll check what it does on Windows 7 x64 in a little bit.

Thanks!

0 Likes

#49

[quote=“rgidney”]OK, I’ll change the path. The interesting thing is in OS X it is relative but not in Windows. This setting was put in automatically when choosing the color scheme from sublime preferences so it will be an issue on Windows when people set their themes that way. I’ll check what it does on Windows 7 x64 in a little bit.

Thanks![/quote]

Hmm…well I will try to add absolute path detection to avoid this issue in the future.

0 Likes

#50

OK, I checked Win 7 64 and did not have the absolute path there so went back to XP machine and changed to another theme and had relative path then. Edited the naming for the theme in the directory and the problem went away so it looks like absolute path handling is not needed after all. I think this occurred because I must have added the color scheme directly off of the github download without editing the name and that triggered an absolute path mapping in sublime somehow.

0 Likes

#51

You can click the link and go straight to the annotation in the HTML.

Version 0.3.0

  • Add annotation jump table for the HTML. Show table with “alt+double_click”

Let me know if you find any bugs.

0 Likes

#52

Very cool!

Any plans on making this available in package manager? I think you mentioned once that you would if folks wanted that… +1 from me, if you’re taking requests. :wink:

0 Likes

#53

[quote=“SeanWcom”]Very cool!

Any plans on making this available in package manager? I think you mentioned once that you would if folks wanted that… +1 from me, if you’re taking requests. :wink:[/quote]

I have put in a request. As soon as wbond gets around to it, it should be there.

0 Likes

#54

I modified ExportHtml.py a little bit because I prefer own font face and font size for the Html view:

It tries at first to find font_size and font_face from ExportHtml.subleme-settings before using the defaults.
Just replace lines 469-470 containing

        self.font_size = settings.get('font_size', 10)
        self.font_face = settings.get('font_face', 'Consolas')

with


        self.font_size = sublime.load_settings(PACKAGE_SETTINGS).get("font_size", settings.get('font_size', 10))
        self.font_face = sublime.load_settings(PACKAGE_SETTINGS).get("font_face", settings.get('font_face', 'Consolas'))
0 Likes

#55

You can now specify an alternate font_size and font_face via the settings file.

[pre=#000000] // By default, ExportHtml uses your current font_face and font_size.
// You can change this setting to always use this value. By default,
// the setting is a literal false, but you can change it to an actual
// font_face to enable this setting.
“alternate_font_face”: false,

// By default, ExportHtml uses your current font_face and font_size.
// You can change this setting to always use this value.  By default,
// the setting is a literal false, but you can change it to an actual
// font_size to enable this setting.
"alternate_font_size": false,[/pre]
0 Likes

#56

Plugin is now on package control.

Also, a couple of fixes have been made.

Version 0.4.0

  • Fix regression with option numbers = false
  • Fix issue where if transparency was included in hex color, color would not render
  • Fix regression where annotation table would not show
0 Likes

#57

For a moment I thought that the active color schemes were being applied, but now that I’ve changed color schemes, it doesn’t seem to be taking effect. Was it ever observing the active color scheme or does it play by its own rules?

For example, I have tried exporting the ExportHtml.sublime-settings file using this Tango theme and what I see in the browser is not what is displayed in Sublime Text 2.

BTW, I do have “alternate_scheme” set to false, as in the default settings.



0 Likes

#58

[quote=“Grant”]For a moment I thought that the active color schemes were being applied, but now that I’ve changed color schemes, it doesn’t seem to be taking effect. Was it ever observing the active color scheme or does it play by its own rules?

For example, I have tried exporting the ExportHtml.sublime-settings file using this Tango theme and what I see in the browser is not what is displayed in Sublime Text 2.

BTW, I do have “alternate_scheme” set to false, as in the default settings.[/quote]

Just remove the “color_scheme” setting form the particular setting you wish to adopt the current theme. If the “color_scheme” is specified, it will use it, if it isn’t, it grabs whatever is the current theme.

For instance, I have this in my settings file to give show the current theme in the browser:

[pre=#000000] // Browser view color (selections and multi-selections allowed)
{
“Browser View - Current Color”: {
“numbers”: true,
“multi_select”: true
}
},[/pre]

0 Likes

#59

That’s it. Thanks!

0 Likes

#60

Any chance in getting formatted into the clipboard?

Here’s a couple links that I found that may be of some use:
CoffeeGhost - Pyperclip – A cross-platform clipboard module for Python
HTML Clipboard Format (MSDN)

0 Likes

#61

It is possible. I haven’t looked into how to get it formatted into the clipboard proper. Just copying the HTML is not the same. Thanks for the links. I will take a look at them when I get some time. Once i understand what needs to be done to get it properly in the clipboard, I can probably add the feature. Can’t promise when I will get around to it, but I will take a look into it.

0 Likes

#62

Yea, that’s fine. I figured that calling “SetText” on a clipboard object does what you said just as if you were copying text from ST itself. Copying to clipboard would make it easier to paste the formatted text into emails or documents and give this fine text editor one more leg up on Visual Studio :wink:

0 Likes

#63

I understand. Personally I would love to take out the step of opening the browser so I can copy the content and paste it in an email. Hopefully it will be pretty simple once I read up on it. It is just one of those things were the stop gap solution works and hasn’t annoyed me enough yet to force me to fix it, yet it is still annoying enough that I keep thinking I will fix it down the road. :smile:

0 Likes

#64

I grabbed the following code from the Python docs and ran it (Windows 7) and it sent an email for me :smile:

The SMTP settings can be added to the package settings and send() might be replaced with display() or show().

But perhaps it’s not so straight-forward on non-Windows OSes(?).

[code]import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

me == my email address

you == recipient’s email address

me = "my@email.com"
you = "your@email.com"

Create message container - the correct MIME type is multipart/alternative.

msg = MIMEMultipart(‘alternative’)
msg’Subject’] = “Link”
msg’From’] = me
msg’To’] = you

Create the body of the message (a plain-text and an HTML version).

text = “Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org”
html = “”"\

Hi!
How are you?
Here is the link you wanted.

"""

Record the MIME types of both parts - text/plain and text/html.

part1 = MIMEText(text, ‘plain’)
part2 = MIMEText(html, ‘html’)

Attach parts into message container.

According to RFC 2046, the last part of a multipart message, in this case

the HTML message, is best and preferred.

msg.attach(part1)
msg.attach(part2)

Send the message via local SMTP server.

s = smtplib.SMTP(‘localhost:25’)

sendmail function takes 3 arguments: sender’s address, recipient’s address

and message to send - here it is sent as one string.

s.sendmail(me, you, msg.as_string())
s.quit()[/code]

0 Likes