Skip to content
This repository has been archived by the owner on Mar 5, 2023. It is now read-only.

Migrate DeveloperGuide.md from markdown to asciidoc #271 #408

Merged

Conversation

limmlingg
Copy link
Contributor

@limmlingg limmlingg commented May 11, 2017

Part of #271

@mention-bot
Copy link

@limmlingg, thanks for your PR! By analyzing the history of the files in this pull request, we identified @damithc, @pyokagan and @jia1 to be potential reviewers.

@CanIHasReview-bot
Copy link

v1

@limmlingg submitted v1 for review.

(📚 Archive)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/408/1/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

(For all use cases below, the *System* is the `AddressBook` and the
*Actor* is the `user`, unless specified otherwise)

Use case: Delete person
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's unnecessary to have this as a "bullet point" in the table of content, because this is the only sub-point :)

@@ -0,0 +1,510 @@
= AddressBook Level 4 - Developer Guide:
:toc:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to mark up the Table of Contents? The surrounding text are all marked up, but TOC isn't :P

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, perhaps the inter-line spacing between each item could be wider; I noticed that it's quite small compared to the numbered points in later segments (e.g 1.1 Prerequisites)

Copy link
Contributor Author

@limmlingg limmlingg May 12, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think I can edit the attributes of the ToC to make the line spacing wider. I can remove the title Table of Contents though, since it's not in DeveloperGuide.md


[NOTE]
====
Having any Java 8 version is not enough. +
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possible to centralise this text such that the top border space == bottom border space?

Also I'm unsure if Note is necessary. @yamgent

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/

Can take a look at the admonition block. It should help :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, take a look at literal as well.
Also, this segment too: Markdown-style blockquote with block content

Having any Java 8 version is not enough. +
This app will not work with earlier versions of Java 8.
====
. *Eclipse* IDE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Numbering error, should be 2

image::LogicClassDiagram.png[width="800"]
_Figure 2.1.2 : Class Diagram of the Logic Component_

==== Events-Driven nature of the design
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to number it as 2.1.1. This is because there isn't a 2.1.2 :)

. Using Chrome, go to the
link:UsingGithubPages.md#viewing-the-project-site[GitHub Pages version]
of the documentation file. e.g. For UserGuide.md, the URL will be
`https://<your-username-or-organization-name>.github.io/addressbook-level4/docs/UserGuide.html`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be hyperlinked

Book depends on the http://wiki.fasterxml.com/JacksonHome[Jackson
library] for XML parsing. Managing these _dependencies_ can be automated
using Gradle. For example, Gradle can download the dependencies
automatically, which is better than these alternatives. a. Include those
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a and b should have a line break

3a. The given index is invalid

____
3a1. AddressBook shows an error message Use case resumes at step 2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use case resumes at step 2 should have a line break


*Using Gradle*:

* See UsingGradle.md for how to run tests using Gradle.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing hyperlink

multiple code units as well as how the are connected together. e.g.
`seedu.address.logic.LogicManagerTest`

=== Headless GUI Testing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure whether this is meant to be a segment i.e 4.1 @yamgent ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is fine to leave it as a segment, that was probably the intention anyway.

`Theme chooser`. Pick a theme for the project site and click
`Select theme` when done.
. You can now view the site at
`https://<username-or-organization-name>.github.io/<repo-name>`. e.g.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't be hyperlinked

== Viewing the Project Site

The project site URL follows the format
`https://<username-or-organization-name>.github.io/<repo-name>`, e.g.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't be hyperlinked


For the other pages, the structure of the site follows the structure of
the repository. For example, `docs/UserGuide.md` is published at
`https://<username-or-organization-name>.github.io/addressbook-level4/docs/UserGuide.html`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't be hyperlinked


The project site URL follows the format
`https://<username-or-organization-name>.github.io/<repo-name>`, e.g.
`https://se-edu.github.io/addressbook-level4`. By default, the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't be hyperlinked

someone push code to the repo:

* Runs the `./gradlew clean headless allTests coverage coveralls -i`
command (see UsingGradle.md for more details on what this command
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UsingGradle.md missing hyperlink

Copy link
Member

@yamgent yamgent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am having some problems with DeveloperGuide.adoc, it is failing my asciidoctor build:

~/github/yamgent/addressbook-level4$ ./gradlew asciidoctor
:copyStylesheets
:asciidoctor
(ArgumentError) asciidoctor: FAILED: /home/wangleng/github/yamgent/addressbook-level4/docs/DeveloperGuide.adoc: Failed to load AsciiDoc document - invalid byte sequence in UTF-8
:asciidoctor FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':asciidoctor'.
> Error running Asciidoctor

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.772 secs

using source files in the `master` branch. Jekyll, a static site
generator integrated with GitHub Pages, automatically renders Markdown
files (in the `master` branch) to HTML, which are then deployed to the
project site by GitHub Pages.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are touching on the documentation now, could be a good opportunity to avoid hard wrapping in our documentation. In other words, this whole paragraph should be in a single line.

(as per oss-generic/process#83, to avoid unnecessary noise to the diff when we change this documentation in the future and the wrapping goes out of sync).

@damithc, should we do that?

@yamgent
Copy link
Member

yamgent commented May 12, 2017

@limmlingg Will you also be incorporating the other documents into the PR as well? (e.g. The other files in docs/)

EDIT: As discussed, we will try one file first.

@limmlingg limmlingg changed the title Migrate documentation from markdown to asciidoc #271 Migrate DeveloperGuide.md from markdown to asciidoc #271 May 12, 2017
@limmlingg limmlingg force-pushed the 271-migrate-documentation-markdown-asciidoc branch 2 times, most recently from 326df2b to c6fa7b9 Compare May 12, 2017 03:47
@CanIHasReview-bot
Copy link

v2

@limmlingg submitted v2 for review.

(📚 Archive) (📈 Interdiff between v1 and v2)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/408/2/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

Copy link
Member

@yamgent yamgent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[v2]

@@ -0,0 +1,393 @@
= AddressBook Level 4 - Developer Guide:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a colon at the end of the title, is that intended?

=== Architecture

image::Architecture.png[width="600"]
_Figure 2.1.1 : Architecture Diagram_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just curious, does asciidocotor support figure numbering?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It numbers the figures based on their order of appearance, not based on the header number. So the Architecture Diagram will be Figure 1 instead of Figure 2.1.1, and Component interactions for delete 1 command (part 1) will be Figure 3 instead of Figure 2.1.3a

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok sure, then we will use our manual figure numbering then.

:sectnums:
:imagesDir: images

By : `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's an additional space here before the colon

[NOTE]
====
* If you are asked whether to 'keep' or 'overwrite' config files, choose to 'keep'.
* Depending on your connection speed and server load, it can even take up to 30 minutes for the set up to finish (This is because Gradle downloads library files from servers during the project set up process)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing a period at end of sentence

@limmlingg limmlingg force-pushed the 271-migrate-documentation-markdown-asciidoc branch from c6fa7b9 to 71c07c2 Compare May 12, 2017 06:40
@CanIHasReview-bot
Copy link

v3

@limmlingg submitted v3 for review.

(📚 Archive) (📈 Interdiff between v2 and v3)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/408/3/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

@yamgent yamgent requested review from kychua and chao1995 May 12, 2017 07:19
@yamgent
Copy link
Member

yamgent commented May 16, 2017

@kychua For your review please. :)

@yamgent yamgent requested review from damithc and removed request for chao1995 May 16, 2017 02:59
Copy link
Member

@eugenepeh eugenepeh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only concern is the asciidoc lists uses extra space compare to markdown. Can it actually be fixed?

@yamgent
Copy link
Member

yamgent commented May 19, 2017

@eugenepeh That is the way GitHub renders asciidoc, so can't do much with the extra spaces.

@yamgent yamgent merged commit 1af6587 into se-edu:master May 19, 2017
Copy link
Contributor

@kychua kychua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@limmlingg Sorry for the very late review, just a few things I noticed

Having any Java 8 version is not enough. +
This app will not work with earlier versions of Java 8.

[start=2]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should use list continuation here, like in User Guide

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup! Since this has been merged, I'll be fixing this in another PR. Thanks for pointing it out!

a. Include those libraries in the repo (this bloats the repo size) +
b. Require developers to download those libraries manually (this creates extra work for developers)

== Appendix A : User Stories
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need to number appendices A, B, C etc manually, can just use

[appendix]
== User Stories

instead of

== Appendix A : User Stories

so it'll be

1. Testing
2. Dev Ops
Appendix A: User Stories

instead of

1. Testing
2. Dev Ops
3. Appendix A: User Stories

* At app launch: Initializes the components in the correct sequence, and connects them up with each other.
* At shut down: Shuts down the components and invokes cleanup method where necessary.

link:#common-classes[*`Commons`*] represents a collection of classes used by multiple other components. Two of those classes play important roles at the architecture level.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link doesn't seem to work in html. I think you'll have to add idseparator: '-' to build.gradle's asciidoctor attributes.

@yamgent
Copy link
Member

yamgent commented May 29, 2017

Thanks for taking the time to review @kychua. :)

@limmlingg
Copy link
Contributor Author

I'll be making these fixes in #452

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants