# Searchable docs

**URL:** https://igraph.discourse.group/t/searchable-docs/328
**Category:** Development
**Created:** [5 July 2020 08:46 UTC](https://igraph.discourse.group/t/searchable-docs/328 "2020-07-05T08:46:24Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [5 July 2020 08:46 UTC](https://igraph.discourse.group/t/searchable-docs/328/1 "2020-07-05T08:46:25Z")

</div>

hi guys,

So here’s the hardest thing for me when I started using igraph: I couldn’t find online, searchable docs.

So I ended up (still do, ahem!) downloading the PDF every time because at least I can Ctrl+F the function name I’m looking for.

Anyone with the same issue out there? If so we should fix this by 1.0

Cheers,  
Faboi

---

<div class="post-metadata">

### Author: ![vtraag](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/vtraag/32/38_2.png) [@vtraag](https://igraph.discourse.group/u/vtraag)
#### Post date: [5 July 2020 09:04 UTC](https://igraph.discourse.group/t/searchable-docs/328/2 "2020-07-05T09:04:04Z")

</div>

Yes, this issue was already raised before, see [Add sitewide search to igraph.org](https://igraph.discourse.group/t/add-sitewide-search-to-igraph-org/56). Indeed, the lack of a proper search function is quite annoying. Having that properly implemented will definitely make it a lot easier for people to start coding with `igraph`.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [5 July 2020 09:39 UTC](https://igraph.discourse.group/t/searchable-docs/328/3 "2020-07-05T09:39:33Z")

</div>

What about for now adding a link to an html equivalent of the PDF (i.e. a single page with everything)? That would be relatively easy and we could use Ctrl+F there 😉

---

<div class="post-metadata">

### Author: ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)
#### Post date: [5 July 2020 10:10 UTC](https://igraph.discourse.group/t/searchable-docs/328/4 "2020-07-05T10:10:05Z")

</div>

> [@iosonofabio](#):
>
> So I ended up (still do, ahem!) downloading the PDF every time because at least I can Ctrl+F the function name I’m looking for.

Are you aware of the index? [igraph Reference Manual](https://igraph.org/c/doc/ix01.html) All functions are listed there, along with a short description.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [5 July 2020 22:39 UTC](https://igraph.discourse.group/t/searchable-docs/328/5 "2020-07-05T22:39:07Z")

</div>

Thank you, that’s better than nothing. I’ll try to see if we can get a single html page anyway, because one often needs the reverse search: from some functionality keyword to the function name

---

<div class="post-metadata">

### Author: ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)
#### Post date: [8 July 2020 07:26 UTC](https://igraph.discourse.group/t/searchable-docs/328/6 "2020-07-08T07:26:51Z")

</div>

Would a custom Google search be a suitable quick workaround until we can set up a proper search for [igraph.org](http://igraph.org)?

> **[Programmable Search Engine by Google](https://programmablesearchengine.google.com/about/)**
>
> Help people find what they need on your website. Add a customizable search box to your web pages and show fast, relevant results powered by Google.

I never used this before. I suspect it’s the same as using a normal google search and adding something like `site:igraph.org` or `site:igraph.org/c` at the end.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [8 July 2020 07:28 UTC](https://igraph.discourse.group/t/searchable-docs/328/7 "2020-07-08T07:28:16Z")

</div>

Would be a great initial move for sure!

---

<div class="post-metadata">

### Author: ![tamas](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/tamas/32/1261_2.png) [@tamas](https://igraph.discourse.group/u/tamas)
#### Post date: [8 July 2020 08:36 UTC](https://igraph.discourse.group/t/searchable-docs/328/8 "2020-07-08T08:36:17Z")

</div>

It turns out that we have already started setting this up a while ago; here is the URL:

[https://cse.google.com/cse?cx=006731217555358536053:butkee157vc](https://cse.google.com/cse?cx=006731217555358536053:butkee157vc)

Please give it a go to see whether it’s useful for searching the documentation; if it is, I’ll try to figure out how to integrate this nicely. Currently the search engine is indexing the entire [igraph.org](http://igraph.org) domain.

---

<div class="post-metadata">

### Author: ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)
#### Post date: [8 July 2020 09:28 UTC](https://igraph.discourse.group/t/searchable-docs/328/9 "2020-07-08T09:28:35Z")

</div>

@iosonofabio This is related too: [https://github.com/igraph/igraph/issues/1381](https://github.com/igraph/igraph/issues/1381) Dash is a popular offline doc browser for macOS. While the free version has built-in annoyances, I still find it useful and would be nice to add igraph to it. On Linux/Windows, [Zeal](https://zealdocs.org/) is a free and compatible alternative.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [9 July 2020 00:36 UTC](https://igraph.discourse.group/t/searchable-docs/328/10 "2020-07-09T00:36:30Z")

</div>

@tamas great to see. Would be a great improvement to search separately for each interface (C/Python/R). Otherwise I almost always drown in a sea of irrelevant results. Is that easy to do?

@szhorvat I saw the issue before but since I’m not a OSX user I can’t really push this much. Never used zeal and, I suspect, never will. But if you use it a lot you could consider that a low-priority thing?

---

<div class="post-metadata">

### Author: ![tamas](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/tamas/32/1261_2.png) [@tamas](https://igraph.discourse.group/u/tamas)
#### Post date: [9 July 2020 07:24 UTC](https://igraph.discourse.group/t/searchable-docs/328/11 "2020-07-09T07:24:22Z")

</div>

@iosonofabio I think it is possible to create independent search engines that index only a subset of the site (based on URL patterns), so yeah, this should work.

Here is a URL that is limited to [igraph.org/c/doc:](http://igraph.org/c/doc:)

[https://cse.google.com/cse?cx=003494361702844740117:dlnifinshhm](https://cse.google.com/cse?cx=003494361702844740117:dlnifinshhm)

---

<div class="post-metadata">

### Author: ![vtraag](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/vtraag/32/38_2.png) [@vtraag](https://igraph.discourse.group/u/vtraag)
#### Post date: [9 July 2020 08:14 UTC](https://igraph.discourse.group/t/searchable-docs/328/12 "2020-07-09T08:14:13Z")

</div>

To add to the confusion, I just ran into an old readthedocs about `python-igraph`: [https://python-igraph.readthedocs.io/en/latest/](https://python-igraph.readthedocs.io/en/latest/). Perhaps it would be best to take this down in order to avoid confusion? I believe it is hosted by @tamas or @Gabor. Or we could actually use it, but in that case it would need to be updated. So still probably best to take it down, at least for now.

Most users will probably use documentation online, so I think that is more important than offline local documentation, such as Dash or other variants.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [9 July 2020 08:21 UTC](https://igraph.discourse.group/t/searchable-docs/328/13 "2020-07-09T08:21:17Z")

</div>

Let’s take it down but keep the namespace. Python folks will be quite familiar with readthedocs, and it’s searchable. I’ve set up several of those in the past, so let me have a look

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [10 July 2020 06:23 UTC](https://igraph.discourse.group/t/searchable-docs/328/14 "2020-07-10T06:23:32Z")

</div>

FYI: [https://github.com/igraph/igraph/pull/1437](https://github.com/igraph/igraph/pull/1437)

---

<div class="post-metadata">

### Author: ![tamas](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/tamas/32/1261_2.png) [@tamas](https://igraph.discourse.group/u/tamas)
#### Post date: [12 July 2020 14:21 UTC](https://igraph.discourse.group/t/searchable-docs/328/15 "2020-07-12T14:21:48Z")

</div>

Removed the Python interface from `readthedocs.io` because apparently their build process cannot handle building arbitrary C extensions, and we need to build the C extension because some of the docstrings come directly from there.

As for the C documentation - each page of the manual now includes a search bar at the top of the page, roughly based on @iosonofabio’s original PR, but rewritten so the styling fits better with the rest of the page. Let me know if you run into any issues with it.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [12 July 2020 21:53 UTC](https://igraph.discourse.group/t/searchable-docs/328/16 "2020-07-12T21:53:01Z")

</div>

Fantastic work! The new search bar looks great!

We should add some mobile aware CSS block for it, else it looks broken on my phone.

[Screenshot\_20200713-075137|281x500](https://igraph.discourse.group/uploads/short-url/2Ta8R2dxNXSgRZozqlSQ8LMAiXT.png)

Also, why does searching for `IGRAPH_OTHER` give no results?

---

<div class="post-metadata">

### Author: ![tamas](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/tamas/32/1261_2.png) [@tamas](https://igraph.discourse.group/u/tamas)
#### Post date: [12 July 2020 22:21 UTC](https://igraph.discourse.group/t/searchable-docs/328/17 "2020-07-12T22:21:34Z")

</div>

> We should add some mobile aware CSS block for it,

Yeah, definitely; my intention was to make sure we don’t waste space with the search bar so it is floated to the left while the “prev / home / next” controls are floated to the right. This does not work on mobile phones, though. I’ll try to do this in the next few days; however, feel free to send a PR to igraph/igraph.org on Github.

> Also, why does searching for `IGRAPH_OTHER` give no results?

Ask Google 😉 I believe it is because `IGRAPH_OTHER` is not documented in 0.8.2, and the homepage builds the docs from the 0.8.2 tag.

---

<div class="post-metadata">

### Author: ![iosonofabio](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/iosonofabio/32/16_2.png) [@iosonofabio](https://igraph.discourse.group/u/iosonofabio)
#### Post date: [12 July 2020 22:47 UTC](https://igraph.discourse.group/t/searchable-docs/328/18 "2020-07-12T22:47:42Z")

</div>

Sounds good, as expected. I’ll try and help out!
