-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Processing HTML, AsciiDoc and Markdown with the File Repository #78
Comments
@BalazsAtWork @Alexander-Miller This is your story :) At least to get you started. I'll add some more acceptance criteria next week and maybe some examples. |
Feels pretty epic to me :) |
@bitterblue lets workshop this on friday |
We discussed today that |
Now that we have working parser implementations, and for the sake of getting closer to running an end-to-end test, let's have a look a the existing class hierarchy. I do believe there are questions that need to be answered and improvements and refactorings that can be made. At the top there's the
The concrete implementations of the DocumentRepository have a I would also like to propose some refactoring. As I see it there's 2 questions that need answering that I think are badly answered with the current types: where is the Document and what type of Document is it? I propose we introduce interface(s) for both. The former, let's call it |
…user-documentation' into 'master' Resolve "Define yaml config format and document it in the enduser documentation" Closes LivingDoc#78 See merge request enpro-ws2019-20/enpro-livingdoc!42
Background:
With LivingDoc 2 we want to give our users the option to use any kind of documentation source (Confluence, Jira, HTML files etc.). For this we define the concept of repositories. A repository is an abstraction over any kind of datastore (be it remote or local). Currently we plan at least two repositories for the release of version 2.0:
This story covers the implementation of a File Repository. This repository will handle files checked in with the source code. Currently planned formats are: HTML, AsciiDoc and Markdown. Implementing a Confluence repository first would take much longer and does not give us any advantages for proofing LivingDoc 2’s quality.
Scope:
This story covers two things which need implementing:
Document
class. This is an abstraction over all possible documentation input. Any source documentation needs to be transformed / parsed into this data structure. It is also the basis for further processing of the documentation as examples.FileRepository
class. This is the implementation ofDocumentRepository
for the file system.There is a base implementation of this in PR #75.
Requirements for the
Document
implementation:DecisionTable
as well asScenario
examplesDocument
class contains all the information of the source document, but not necessarily all formatting. Line breaks and paragraphs in texts should be kept, but colours and other mark-up does not have to be considered.Requirements for the
FileRepository
implementation:fun getDocument(documentIdentifier: String): Document?
for document lookupDocumentFormat
(HTML, Markdown, AsciiDoc)DocumentFormat
can be specified in the repository configurationThe text was updated successfully, but these errors were encountered: