mirror of
https://github.com/servo/servo.git
synced 2025-06-08 16:43:28 +00:00
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 -->
This commit is contained in:
commit
df73a18a61
4 changed files with 69 additions and 3 deletions
|
@ -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))
|
||||
|
|
40
components/style/properties.html.mako
Normal file
40
components/style/properties.html.mako
Normal file
|
@ -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>
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue