A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).

Anolis

From WHATWG Wiki
Jump to navigation Jump to search

Anolis is a tool to generate specification-like documents out of simple HTML.

Setting up ms2ger/anolis

hg clone http://bitbucket.org/ms2ger/anolis
cd anolis && sudo python setup.py install
  • install lxml using whatever package manager is appropriate for your OS/environment; for example, one of the following:
sudo easy_install lxml
sudo port install py27-lxml
sudo apt-get install python-lxml
brew install libxml
  • install cssselect using whatever package manager is appropriate for your OS/environment; for example, one of the following:
sudo easy_install cssselect
sudo port install py27-cssselect
sudo apt-get install python-cssselect
  • install html5lib:
git clone git://github.com/html5lib/html5lib-python.git
cd html5lib-python && sudo python setup.py install

Troubleshooting

No targets specified

If you try to "make" and get a message like:

make: *** No targets specified and no makefile found.  Stop.

Then you're likely trying to do a make in the wrong directory.

Solution:

  1. Change your current directory to the parent of the item you're trying to make,
  2. Verify that there is a "Makefile" in that directory,
  3. Try again

No rule to make xref

If you try to "make" and get a message like:

make: *** No rule to make target `../xref', needed by `Overview.html'.  Stop.

Then you're likely missing the "xref" repository.

Solution:

  1. Clone the "xref" repository into a directory that is a sibling of the directory you're working in.
  2. Try again

No such option xref

If you try to "make" and get a message like:

anolis: error: no such option: --xref

Then your Anolis is likely out of date.

Solution:

  1. Update your Anolis respository
  2. Update your install of the "anolis" tool, e.g. in "/usr/local/bin/anolis"
  3. Try again

No module named lxml

If you try to "make" and get a message like:

ImportError: No module named lxml

Then you're missing the lxml library.

Solution:

  1. Install lxml per the above instructions, e.g.
     sudo easy_install lxml
  2. Try again

Connection reset by peer

If you're trying to install lxml and get an error message like:

Downloading http://lxml.de/files/lxml-3.1.2.tgz
error: Connection reset by peer

Then the network you're on may be problematic.

Solution:

  1. Switch to a different network (e.g. a mifi)
  2. Try again

TypeError Item in from list not a string

If you try to "make" and get messages like:

Traceback (most recent call last):
  File "/usr/local/bin/anolis", line 325, in <module>
    main()
  File "/usr/local/bin/anolis", line 69, in main
    tree = generator.fromFile(input, **kwargs)
  File "/Library/Python/2.7/site-packages/anolislib/generator.py", line 90, in fromFile
    process(tree, processes, **kwargs)
  File "/Library/Python/2.7/site-packages/anolislib/generator.py", line 38, in process
    locals(), [process], -1),
TypeError: Item in ``from list'' not a string
make: *** [Overview.html] Error 1

Then ... (no idea)

Solution:

  • TBD

Workaround:

  1. Give up on locally installed Anolis
  2. Commit your Overview.src.html as is, noting in the commit message that the Overview.html was not updated
  3. Use the http://anolis.hoppipolla.co.uk/aquarium.py web service
  4. Submit the raw.github.com "raw file" URL of the Overview.src.html you just committed
  5. Save the result over the Overview.html in the same directory as the Overview.src.html
  6. Commit it with message "sync with Overview.src.html - used anolis.hoppipolla.co.uk/aquarium.py"