🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

ti-html2as

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ti-html2as

HTML to Attributed String parser for Titanium

latest
Source
npmnpm
Version
1.3.1
Version published
Maintainers
1
Created
Source

HTML to Attributed String

Dependencies Dev Dependencies

HTML to Ti.UI.AttributedString parser for Titanium.

Screencast

screencast

Usage

A packaged CommonJS module can be found via Releases. Follow the guide on Using a Module or use gitTio:

gittio install nl.fokkezb.html2as

The module exports a single function that takes an HTML string and a callback to receive an error or Ti.UI.AttributedString object.

var html2as = require('nl.fokkezb.html2as');

html2as(
	'<font size="17" face="AmericanTypewriter">Hello <b>Bold</b> <a href="http://tidev.io">World</a></font>',
	function(err, as) {

		if (err) {
			console.error(err);

		} else {

			var label = Titanium.UI.createLabel({
				attributedString: as
			});

			label.addEventListener('link', function(e) {
				alert('Longtap on link to: ' + e.url);
			});

			view.add(label);
		}
	}
);

Alloy

In Alloy you can use the XP.UI CommonJS module to emulate the html attribute Android has for <Label />:

<Alloy>
	<Window>
		<Label module="xp.ui" html="<font size=17>Hello <b>Bold</b> <font color=#FF0000>World!</font></font>" />
	</Window>
</Alloy> 

Or you can use the Widget, which has the advantage that you can set the html property in a later stage as well:

<Alloy>
	<Window>
		<Widget src="nl.fokkezb.html2as.widget" html="<font size=17>Hello <b>Bold</b> <font color=#FF0000>World!</font></font>" />
	</Window>
</Alloy> 

Supported tags and attributes

Standard (old) HTML:

  • <strong>, <b>
  • <u>
  • <em>, <i>
  • <strike>, <del>, <s>
  • <font face="Arial" size="12" color="red">
  • <a href="http://appcelerator.com">

Non-standard:

  • <effect> (letterpress-style)
  • <kern value="10"> (spacing between characters)
  • <expansion value="0.5"> (stretch text horizontally)

Example

The example folder includes a Titanium project demonstrating the module. To build the module and then run the example project use the included grunt tasks:

npm install
grunt

Changelog

  • 1.3.1: Fixes #21
  • 1.3.0: Adds support for Ti.UI.AttributedString, backwards compatible with Ti.UI.iOS.AttributedString.
  • 1.2.0: Adds support for HTML entities
  • 1.1.0: Updated for Titaniumifier 1.0.0
  • 1.0.0: Initial version

Issues

Please report issues and features requests in the repo's issue tracker.

Credits

License

This library, ti-html2as, is free software ("Licensed Software"); you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; including but not limited to, the implied warranty of MERCHANTABILITY, NONINFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Keywords

titanium

FAQs

Package last updated on 21 Aug 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts