Code Monkey home page Code Monkey logo

fbhaddock's Introduction

Haddock, a Haskell Documentation Tool Build Status

About haddock

See Description on Hackage.

Source code documentation

Full documentation can be found in the doc/ subdirectory, in reStructedText format format.

Project overview

This project consists of three packages:

  • haddock
  • haddock-api
  • haddock-library

haddock

The haddock package provides the haddock executable. It is implemented as a tiny wrapper around haddock-api's Documentation.Haddock.haddock function.

haddock-api

haddock-api contains the program logic of the haddock tool. The haddocks for the Documentation.Haddock module offer a good overview of haddock-api's functionality.

haddock-library

haddock-library is concerned with the parsing and processing of the Haddock markup language.

Contributing

Please create issues when you have any problems and pull requests if you have some code.

Hacking

To get started you'll need a latest GHC release installed.

Clone the repository:

  git clone https://github.com/haskell/haddock.git
  cd haddock

and then proceed using your favourite build tool.

cabal new-build -w ghc-8.4.1
# build & run the test suite
cabal new-test -w ghc-8.4.1 all

Using Cabal sandboxes

cabal sandbox init
cabal sandbox add-source haddock-library
cabal sandbox add-source haddock-api
cabal sandbox add-source haddock-test
# adjust -j to the number of cores you want to use
cabal install -j4 --dependencies-only --enable-tests
cabal configure --enable-tests
cabal build -j4
# run the test suite
export HADDOCK_PATH="dist/build/haddock/haddock"
cabal test

Using Stack

stack init
stack install
# run the test suite
export HADDOCK_PATH="$HOME/.local/bin/haddock"
stack test

Git Branches

If you're a GHC developer and want to update Haddock to work with your changes, you should be working on ghc-head branch. See instructions at https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules for an example workflow.

Updating html-test

When accepting any changes in the output of html-test, it is important to use the --haddock-path option. For example:

cabal new-run -- html-test --haddock-path $(find dist-newstyle/ -executable -type f -name haddock) --accept

fbhaddock's People

Contributors

adamse avatar alanz avatar alexbiehl avatar batterseapower avatar bgamari avatar duog avatar ezyang avatar fuuzetsu avatar gergoerdi avatar haasn avatar harpocrates avatar helkafen avatar hvr avatar idontgetoutmuch avatar igfoo avatar jpmoresmau avatar kazu-yamamoto avatar luite avatar mpickering avatar mzero avatar nominolo avatar panhania avatar phadej avatar rufflewind avatar ryanglscott avatar simonmar avatar sjakobi avatar sol avatar thielema avatar waern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.