diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-03-29 13:34:08 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-03-29 13:34:08 +0530 |
commit | df73a18a61e57f62e2e17541d45dcd3818b35b7c (patch) | |
tree | fbb298d93dc84cef14074dcd7ed061efeab50b8f | |
parent | aac2da75f40f4c55a4b450b6d9d134429fcf741e (diff) | |
parent | 6de7228945f9e9882ae5a8d45fd3ed40906057db (diff) | |
download | servo-df73a18a61e57f62e2e17541d45dcd3818b35b7c.tar.gz servo-df73a18a61e57f62e2e17541d45dcd3818b35b7c.zip |
Auto merge of #10208 - jrasanen:jr/issue10196, r=SimonSapin
Generate html and json of supported css properties.
Fixes #10196. Outputs html and json of supported css properties to `target/doc/` directory when deploying github-pages.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10208)
<!-- Reviewable:end -->
-rw-r--r-- | components/style/list_properties.py | 19 | ||||
-rw-r--r-- | components/style/properties.html.mako | 40 | ||||
-rwxr-xr-x | etc/ci/upload_docs.sh | 2 | ||||
-rw-r--r-- | python/servo/testing_commands.py | 11 |
4 files changed, 69 insertions, 3 deletions
diff --git a/components/style/list_properties.py b/components/style/list_properties.py index 63bbe247511..34043be888b 100644 --- a/components/style/list_properties.py +++ b/components/style/list_properties.py @@ -21,4 +21,21 @@ 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')) + +# Ensure ./target/doc/servo exists +if not os.path.exists(servo_doc_path): + os.makedirs(servo_doc_path) + +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)) diff --git a/components/style/properties.html.mako b/components/style/properties.html.mako new file mode 100644 index 00000000000..d06524d3e13 --- /dev/null +++ b/components/style/properties.html.mako @@ -0,0 +1,40 @@ +<!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'> + <table> + <tr> + <th>Property</th> + <th>Flag</th> + <th>Shorthand</th> + </tr> + % for prop in properties: + <tr> + <td>${prop}</td> + <td>${properties[prop]['flag']}</td> + <td>${properties[prop]['shorthand']}</td> + </tr> + % endfor + </table> + </div> + </section> +</body> +</html> diff --git a/etc/ci/upload_docs.sh b/etc/ci/upload_docs.sh index 240b20d7762..2aea0fcea00 100755 --- a/etc/ci/upload_docs.sh +++ b/etc/ci/upload_docs.sh @@ -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 diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index b99dd147b9a..acfce6157cf 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -163,10 +163,17 @@ class MachCommands(CommandBase): @CommandArgument('test_name', nargs=argparse.REMAINDER, help="Only run tests that match this pattern or file path") def test_unit(self, test_name=None, package=None): - properties = json.loads(subprocess.check_output([ + subprocess.check_output([ sys.executable, path.join(self.context.topdir, "components", "style", "list_properties.py") - ])) + ]) + + this_file = os.path.dirname(__file__) + servo_doc_path = os.path.abspath(os.path.join(this_file, '../', '../', 'target', 'doc', 'servo')) + + with open(os.path.join(servo_doc_path, 'css-properties.json'), 'r') as property_file: + properties = json.loads(property_file.read()) + assert len(properties) >= 100 assert "margin-top" in properties assert "margin" in properties |