Skip to content

Commit

Permalink
Move documentation into source tree
Browse files Browse the repository at this point in the history
  • Loading branch information
Onager committed Sep 25, 2018
1 parent 56fea17 commit 43de461
Show file tree
Hide file tree
Showing 91 changed files with 4,450 additions and 181 deletions.
72 changes: 63 additions & 9 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@
from __future__ import print_function
from __future__ import unicode_literals


import re
import os
import sys
import time

from mock import Mock as MagicMock
from sphinx import apidoc

import recommonmark
from docutils import nodes, transforms
from recommonmark.parser import CommonMarkParser
from recommonmark.transform import AutoStructify

Expand Down Expand Up @@ -352,21 +354,73 @@ def __add__(self, other):
# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False


# Configure sphinx to convert markdown links (recommonmark is broken at the
# moment).


class ProcessLink(transforms.Transform):
"""Transform definition to parse .md references to internal pages."""

default_priority = 1000

ANCHOR_REGEX = re.compile(
r'(?P<uri>[a-zA-Z0-9-./]+?).md#(?P<anchor>[a-zA-Z0-9-]+)')

def find_and_replace(self, node):
"""Parses URIs containing .md and replaces them with their HTML page.
Args:
node(node): docutils node.
Returns:
node: docutils node.
"""
if isinstance(node, nodes.reference) and 'refuri' in node:
reference_uri = node['refuri']
if reference_uri.endswith('.md'):
reference_uri = reference_uri[:-3] + '.html'
node['refuri'] = reference_uri
else:
match = self.ANCHOR_REGEX.match(reference_uri)
if match:
node['refuri'] = '{0:s}.html#{1:s}'.format(
match.group('uri'), match.group('anchor'))
return node

def traverse(self, node):
"""Traverse the document tree rooted at node.
node(node): docutils node.
"""
self.find_and_replace(node)

for c in node.children:
self.traverse(c)

# pylint: disable=arguments-differ
def apply(self):
"""Applies transform on document tree."""
self.traverse(self.document)



def RunSphinxAPIDoc(_):
"""Run sphinx-apidoc to auto-generate documentation."""
"""Runs sphinx-apidoc to auto-generate documentation."""
# sys.path.append(os.path.join(os.path.dirname(__file__)))
current_directory = os.path.abspath(os.path.dirname(__file__))
module = os.path.join(current_directory,"..","plaso")
api_directory = os.path.join(current_directory, 'sources', 'api')
apidoc.main(['-o', api_directory, module, '--force'])


def setup(app):
"""Override Sphinx setup to trigger sphinx-apidoc."""
# app.connect('builder-inited', RunSphinxAPIDoc)
"""Called at Sphinx initialization."""
# Triggers sphinx-apidoc to generate API documentation.
app.connect('builder-inited', RunSphinxAPIDoc)
app.add_config_value('recommonmark_config', {
# 'enable_auto_toc_tree': True,
# 'auto_toc_tree_section': 'Contents',
'enable_auto_doc_ref': True,
'url_resolver': lambda x: x,
'enable_auto_doc_ref': False,
}, True)
app.add_transform(AutoStructify)

app.add_transform(AutoStructify)
app.add_transform(ProcessLink)
9 changes: 7 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Plaso (Plaso Langar Að Safna Öllu) is a computer forensic tool for timeline ge
Plaso's documentation is split into several parts:


- `User documentation <sources/user/Home.html>`__
- `Developer documentation <sources/developer/Home.html>`__
- `User documentation <sources/user/Users-Guide.html>`__
- `Developer documentation <sources/developer/Developers-Guide.html>`__
- `API documentation <sources/api/plaso.html>`__


Expand All @@ -27,6 +27,11 @@ Contents:

sources/developer/index

.. toctree::
:maxdepth: 3

API documentation <sources/api/plaso>


Indices and tables
==================
Expand Down
Empty file added docs/sources/api/.gitkeep
Empty file.
7 changes: 7 additions & 0 deletions docs/sources/api/modules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
plaso
=====

.. toctree::
:maxdepth: 4

plaso
134 changes: 134 additions & 0 deletions docs/sources/api/plaso.analysis.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
plaso.analysis package
======================

Submodules
----------

plaso.analysis.browser\_search module
-------------------------------------

.. automodule:: plaso.analysis.browser_search
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.chrome\_extension module
---------------------------------------

.. automodule:: plaso.analysis.chrome_extension
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.definitions module
---------------------------------

.. automodule:: plaso.analysis.definitions
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.file\_hashes module
----------------------------------

.. automodule:: plaso.analysis.file_hashes
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.interface module
-------------------------------

.. automodule:: plaso.analysis.interface
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.logger module
----------------------------

.. automodule:: plaso.analysis.logger
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.manager module
-----------------------------

.. automodule:: plaso.analysis.manager
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.mediator module
------------------------------

.. automodule:: plaso.analysis.mediator
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.nsrlsvr module
-----------------------------

.. automodule:: plaso.analysis.nsrlsvr
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.sessionize module
--------------------------------

.. automodule:: plaso.analysis.sessionize
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.tagging module
-----------------------------

.. automodule:: plaso.analysis.tagging
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.unique\_domains\_visited module
----------------------------------------------

.. automodule:: plaso.analysis.unique_domains_visited
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.viper module
---------------------------

.. automodule:: plaso.analysis.viper
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.virustotal module
--------------------------------

.. automodule:: plaso.analysis.virustotal
:members:
:undoc-members:
:show-inheritance:

plaso.analysis.windows\_services module
---------------------------------------

.. automodule:: plaso.analysis.windows_services
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: plaso.analysis
:members:
:undoc-members:
:show-inheritance:
54 changes: 54 additions & 0 deletions docs/sources/api/plaso.analyzers.hashers.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
plaso.analyzers.hashers package
===============================

Submodules
----------

plaso.analyzers.hashers.interface module
----------------------------------------

.. automodule:: plaso.analyzers.hashers.interface
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.hashers.manager module
--------------------------------------

.. automodule:: plaso.analyzers.hashers.manager
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.hashers.md5 module
----------------------------------

.. automodule:: plaso.analyzers.hashers.md5
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.hashers.sha1 module
-----------------------------------

.. automodule:: plaso.analyzers.hashers.sha1
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.hashers.sha256 module
-------------------------------------

.. automodule:: plaso.analyzers.hashers.sha256
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: plaso.analyzers.hashers
:members:
:undoc-members:
:show-inheritance:
61 changes: 61 additions & 0 deletions docs/sources/api/plaso.analyzers.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
plaso.analyzers package
=======================

Subpackages
-----------

.. toctree::

plaso.analyzers.hashers

Submodules
----------

plaso.analyzers.hashing\_analyzer module
----------------------------------------

.. automodule:: plaso.analyzers.hashing_analyzer
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.interface module
--------------------------------

.. automodule:: plaso.analyzers.interface
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.logger module
-----------------------------

.. automodule:: plaso.analyzers.logger
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.manager module
------------------------------

.. automodule:: plaso.analyzers.manager
:members:
:undoc-members:
:show-inheritance:

plaso.analyzers.yara\_analyzer module
-------------------------------------

.. automodule:: plaso.analyzers.yara_analyzer
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: plaso.analyzers
:members:
:undoc-members:
:show-inheritance:

0 comments on commit 43de461

Please sign in to comment.