# Path: statik/errors.py
# class StatikErrorContext(object):
#     """Useful for representing context when exceptions are thrown (e.g. the name of
#     the current file being processed, line number, etc.)"""
#     
#     def __init__(self, filename=None, line_no=None):
#         self.filename = filename
#         self.line_no = line_no
# 
#     def render(self):
#         return ("in file \"%s\"%s" % (
#             self.filename,
#             (", line %d" % self.line_no) if self.line_no is not None else ""
#         )) if self.filename else None
#     
#     def update(self, filename=None, line_no=None):
#         self.filename = filename
#         self.line_no = line_no
#         
#         # line number is irrelevant now if no filename
#         if filename is None:
#             self.filename, self.line_no = None, None
#     
#     def clear(self):
#         self.filename, self.line_no = None, None
# 
# class ProjectConfigurationError(StatikError):
#     """For generic project configuration-related errors."""
#     error_kind = "Project configuration error"
#     exit_code = 2


from copy import copy
from statik.errors import StatikErrorContext, ProjectConfigurationError
# -*- coding: utf-8 -*-



__all__ = [
    'MarkdownConfig'
]


class MarkdownConfig(object):

    DEFAULT_MARKDOWN_EXTENSIONS = [
        'markdown.extensions.fenced_code',
        'markdown.extensions.tables',
        'markdown.extensions.toc',
        'markdown.extensions.footnotes'
    ]

    def __init__(self, markdown_params=None, error_context=None):

# Path: statik/errors.py
# class StatikErrorContext(object):
#     """Useful for representing context when exceptions are thrown (e.g. the name of
#     the current file being processed, line number, etc.)"""
#     
#     def __init__(self, filename=None, line_no=None):
#         self.filename = filename
#         self.line_no = line_no
# 
#     def render(self):
#         return ("in file \"%s\"%s" % (
#             self.filename,
#             (", line %d" % self.line_no) if self.line_no is not None else ""
#         )) if self.filename else None
#     
#     def update(self, filename=None, line_no=None):
#         self.filename = filename
#         self.line_no = line_no
#         
#         # line number is irrelevant now if no filename
#         if filename is None:
#             self.filename, self.line_no = None, None
#     
#     def clear(self):
#         self.filename, self.line_no = None, None
# 
# class ProjectConfigurationError(StatikError):
#     """For generic project configuration-related errors."""
#     error_kind = "Project configuration error"
#     exit_code = 2


# Path: statik/markdown_config.py
from copy import copy
from statik.errors import StatikErrorContext, ProjectConfigurationError

# -*- coding: utf-8 -*-



__all__ = [
    'MarkdownConfig'
]


class MarkdownConfig(object):

    DEFAULT_MARKDOWN_EXTENSIONS = [
        'markdown.extensions.fenced_code',
        'markdown.extensions.tables',
        'markdown.extensions.toc',
        'markdown.extensions.footnotes'
    ]

    def __init__(self, markdown_params=None, error_context=None):

        self.error_context = error_context or StatikErrorContext()