Generate html and json of supported css properties.

Outputs html and json file of supported css properties to target/doc/
directory when deploying github-pages.
This commit is contained in:
Jussi Räsänen 2016-03-26 21:23:16 +02:00
parent 803f39df19
commit e576fe94b2
3 changed files with 83 additions and 1 deletions

View file

@ -21,4 +21,17 @@ properties = dict(
})
for p in template.module.LONGHANDS + template.module.SHORTHANDS
)
print(json.dumps(properties, indent=4))
json_dump = json.dumps(properties, indent=4)
#
# Resolve path to doc directory and write CSS properties and JSON.
#
servo_doc_path = os.path.abspath(os.path.join(style, '../', '../', 'target', 'doc', 'servo'))
with open(os.path.join(servo_doc_path, 'css-properties.json'), "w") as out_file:
out_file.write(json_dump)
html_template = Template(filename=os.path.join(style, "properties.html.mako"), input_encoding='utf8')
with open(os.path.join(servo_doc_path, 'css-properties.html'), "w") as out_file:
out_file.write(html_template.render(properties=properties))

View file

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="rustdoc">
<meta name="description" content="API documentation for the Rust `servo` crate.">
<meta name="keywords" content="rust, rustlang, rust-lang, servo">
<title>Supported CSS properties - servo - Rust</title>
<link rel="stylesheet" type="text/css" href="../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../main.css">
</head>
<body class="rustdoc">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<section id='main' class="content mod">
<h1 class='fqn'><span class='in-band'>CSS properties currently supported in <a class='mod' href=''>Servo</a></span></h1>
<div id='properties' class='docblock'>
<em>Loading</em>
</div>
</section>
<script src="../jquery.js"></script>
<script>
(function() {
"use strict";
//
// Renders list of properties into a table.
//
function updatePropertyList (properties) {
var compiledTable = $('<table></table>');
var header = $('<tr></tr>');
header.append('<th>Property</th>');
header.append('<th>Flag</td>');
header.append('<th>Shorthand</th>');
compiledTable.append(header);
for (var property in properties) {
if (properties.hasOwnProperty(property)) {
var tr = $('<tr></tr>');
tr.append('<td>' + property + '</td>');
if (!properties[property].flag) {
tr.append('<td>-</td>');
} else {
tr.append('<td>' + properties[property].flag + '</td>');
}
tr.append('<td>' + properties[property].shorthand + '</td>');
compiledTable.append(tr);
}
}
$('#properties').html(compiledTable);
}
$.get('./css-properties.json').success(updatePropertyList).error(function () {
$('#properties').html("<p>Unable to load json.</p>");
});
}());
</script>
</body>
</html>

View file

@ -12,5 +12,7 @@ cd "$(dirname $0)/../.."
# etc/doc.servo.org/index.html overwrites $(mach rust-root)/doc/index.html
cp etc/doc.servo.org/* target/doc/
python components/style/list_properties.py
ghp-import -n target/doc
git push -qf https://${TOKEN}@github.com/servo/doc.servo.org.git gh-pages