if branch for links json data
[dueringa_WikiWalker.git] / README.md
blobdf4ffdf4e38289e4dc1991a0b51aad98f6367079
1 # WikiWalker
3 Given a Wikipedia article, build a graph of article links
5 Input can be any Wikipedia URL. The results can be stored in a JSON cache file.
6 This cache file can be used in successive runs, whereas on each start the cache
7 file is read, combined with the Wikipedia data, and stored again.
9 ## Building
11 CMake is used as build system. You need curl and (boost::program_options or getopt).
13 ### Note for Debian / Ubuntu(?) users
15 Debian ships an old version of UnitTest++, which also uses a custom pkg-config
16 file Unfortunately, this is completely incompatible with e.g. Gentoo, and the
17 current version on GitHub, see also
18 [here](https://github.com/unittest-cpp/unittest-cpp/issues/145).
20 ### Building under Windows
22 Why would you want to do that?
24 You'll need
26 * [curl](https://curl.haxx.se/) - build from source following the instructions
27   in winbuild
28 * Boost libraries from www.boost.org
30 By default, cmake wants to use dynamic boost libs, but by default, boost bootstrap
31 builds static libs only.
32 So you need to set Boost_USE_STATIC_LIBS=ON in addition to BOOST_ROOT in cmake.
34 Alternatively, have a look at [vcpkg](https://github.com/Microsoft/vcpkg), a tool
35 to build and install libraries under Windows, and make them findable by cmake.
37 ## Generating graphs with Graphviz
39 Since graphs can get very wide, it's recommended to `unflatten` the graph first:
41     unflatten -l5 file.dot | dot ...
43 Also, have a look at [Gephi](https://gephi.org).
45 Where `5` is the "depth" the links get distributed to.
47 ## Formatting
49 The root directory contains a .clang-format, which can be used to reformat the
50 source code with clang-format. Alernatively, use the cmake target
51 `clang-format-source`.