Skip to content

Commit

Permalink
Generate html and json of supported css properties.
Browse files Browse the repository at this point in the history
Outputs html and json file of supported css properties to target/doc/
directory when deploying github-pages.
  • Loading branch information
jrasanen committed Mar 28, 2016
1 parent 803f39d commit e576fe9
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 1 deletion.
15 changes: 14 additions & 1 deletion components/style/list_properties.py
Expand Up @@ -21,4 +21,17 @@
})
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))
67 changes: 67 additions & 0 deletions components/style/properties.html.mako
@@ -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>
2 changes: 2 additions & 0 deletions etc/ci/upload_docs.sh
Expand Up @@ -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

0 comments on commit e576fe9

Please sign in to comment.