Skip to content
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

MarkBind Template for Software Project Documentation #2400

Merged
merged 50 commits into from
Mar 30, 2024

Conversation

KevinEyo1
Copy link
Contributor

@KevinEyo1 KevinEyo1 commented Feb 4, 2024

What is the purpose of this pull request?

  • Documentation update
  • Bug fix
  • Feature addition or enhancement
  • Code maintenance
  • DevOps
  • Improve developer experience
  • Others, please explain:

Overview of changes:
#2384
Adapted files from ab3 repo for project documentation template.
Added deployed netlify site for project template to templates.md file in UG docs.

Anything you'd like to highlight/discuss:
Currently deployed site on templates.md is hosted on personal github repo and account.
Parts of ab3 still present in new template such as diagrams and parts of Dev Guide as I am not sure whether to completely remove them or not, since after removing them I find it hard to fully show examples of how those sections should look like. The expectation could be for it to be that minimal.
I am also unsure of the approach by which to do the pages in the sense of the following example:
For a section listing benefits of product, to write benefits of an example product like meeting scheduler, or be more meta in a sense and literally have a list like "List of benefits: Benefit 1, Benefit 2, Benefit3".

Testing instructions:

markbind init --template project

Proposed commit message: (wrap lines at 72 characters)
MarkBind templates: add a project-specific template

MarkBind has default and minimal templates.

MarkBind lacks a specific template for project documentation,
limiting its appeal to users seeking specialized starting points.

Creating a new template for such users enhances MarkBind's
usability by providing a tailored starting point for creating
project documentation, encouraging more users to choose
MarkBind for their documentation needs.

Let's add a project template option during MarkBind
initialization that generates a template specifically to project
documentation needs, with a User Guide and Developer Guide.

This approach directly addresses the gap for specialized
documentation templates, making MarkBind a more attractive
option for project maintainers.


Checklist: ☑️

  • Updated the documentation for feature additions and enhancements
  • Added tests for bug fixes or features
  • Linked all related issues
  • No unrelated changes

Reviewer checklist:

Indicate the SEMVER impact of the PR:

  • Major (when you make incompatible API changes)
  • Minor (when you add functionality in a backward compatible manner)
  • Patch (when you make backward compatible bug fixes)

At the end of the review, please label the PR with the appropriate label: r.Major, r.Minor, r.Patch.

Breaking change release note preparation (if applicable):

  • To be included in the release note for any feature that is made obsolete/breaking

Give a brief explanation note about:

  • what was the old feature that was made obsolete
  • any replacement feature (if any), and
  • how the author should modify his website to migrate from the old feature to the replacement feature (if possible).

Copy link

codecov bot commented Feb 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 51.11%. Comparing base (e95e588) to head (8e45510).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2400   +/-   ##
=======================================
  Coverage   51.11%   51.11%           
=======================================
  Files         124      124           
  Lines        5355     5355           
  Branches     1152     1152           
=======================================
  Hits         2737     2737           
  Misses       2328     2328           
  Partials      290      290           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@KevinEyo1 KevinEyo1 marked this pull request as ready for review February 4, 2024 15:25
@KevinEyo1
Copy link
Contributor Author

As discussed with @damithc, will go with the approach of keeping the site minimal, using placeholder picture with captions and dummy texts.

@KevinEyo1 KevinEyo1 changed the title MarkBind Template for Software Project Documentation #2384 MarkBind Template for Software Project Documentation Feb 5, 2024
Copy link
Contributor

@EltonGohJH EltonGohJH left a comment

Choose a reason for hiding this comment

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

I think overall looks good. I think that you should add this template to the tests too (for regression testing). Breaking changes can occur and we need to ensure that our template is updated.

packages/core/template/project/Gemfile.lock Outdated Show resolved Hide resolved
docs/userGuide/templates.md Outdated Show resolved Hide resolved
@EltonGohJH
Copy link
Contributor

For now, lets fix the bugs. Also, let me double check on the content template.

@KevinEyo1
Copy link
Contributor Author

For the testing files of the new template, I generated using the updatetest script, but it creates the files with a timestamp, such that when it does the comparison with newly created files, the timestamp generated is different. Do you know how to solve this @EltonGohJH ?
I checked the files for the other templates and there aren't any timestamps, which would imply the newly created files used for comparison doesnt generate timestamps, unlike the testing of the new template, which is peculiar.

@EltonGohJH
Copy link
Contributor

As discussed, you can remove the footer with the timestamp.

Also, remember to update your netlify template.

I realised that your commit message can be improved. (Feel free to use chatgpt)
Follow this format.
https://se-education.org/guides/conventions/git.html

@EltonGohJH
Copy link
Contributor

@kaixin-hc @yucheng11122017 @itsyme @lhw-1

https://markbind-template-project.netlify.app/

I am thinking whether this template is minimal enough to be used in a general case? What do you all think about it?
Important consideration is that we hope that CS2103 students can adapt this template for their use case too. (Removing too much may hinder them in using this template?)

@yucheng11122017
Copy link
Contributor

I am thinking whether this template is minimal enough to be used in a general case?

Hmmm imo, the user guide and home seems ok and minimal enough. I have some doubts about the developer guide though - in particular the design subsection which seems a bit too specific. I like the parts that show off markbind's functionality like puml diagrams and so on but the rest can be deleted i think. The two appendixes can be removed as well I believe.
The three tutorials also seem too specific to AB3

Important consideration is that we hope that CS2103 students can adapt this template for their use case too. (Removing too much may hinder them in using this template?)

tbh I think its ok for them to use this template since there is already an existing one made by yongliang which they can clone and work on more easily.

@itsyme
Copy link
Contributor

itsyme commented Feb 13, 2024

I agree with @yucheng11122017 about the dev guide section, perhaps we could phrase it as "You can add pUml diagrams such as below! ..." to showcase MarkBind's features rather than the current verbosity of the example. I think the rest of the template is fine besides some minor nits like standardising some headers (e.g. X Feature -> Feature X)!

Copy link
Contributor

@kaixin-hc kaixin-hc left a comment

Choose a reason for hiding this comment

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

A few more nits tho! Particularly check the panels - I think its weird that you switched to HTML inside, any reason for that?


<box type="info" seamless>

**Note:** The lifeline in the sequence diagram should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram.
Copy link
Contributor

Choose a reason for hiding this comment

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

This note doesn't refer to anything - delete or change it

Suggested change
**Note:** The lifeline in the sequence diagram should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram.
**Note:** You can use boxes to include details that you want to draw the reader's attention to. See [`boxes` feature](https://markbind.org/userGuide/components/presentation.html#boxes)

This project has two types of tests:

<panel header="**1. Unit tests**">
<p>These tests are targeting the lowest level methods/classes.</p>
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<p>These tests are targeting the lowest level methods/classes.</p>
These tests target the lowest level methods/classes.
Example command (replace with your own) `npm run test`

I think you shouldn't have to use html here? Can you check. I feel that using <p> tags is not really best / common markbind practie, though it's supported

@@ -0,0 +1,45 @@
---
layout: default.md
title: "John Doe's Project Portfolio Page"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
title: "John Doe's Project Portfolio Page"
title: "Portfolio Page"

Copy link
Contributor

@kaixin-hc kaixin-hc left a comment

Choose a reason for hiding this comment

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

lgtm

@kaixin-hc kaixin-hc dismissed EltonGohJH’s stale review March 30, 2024 14:49

Issues asked to be fixed are fixed

@kaixin-hc kaixin-hc merged commit 011808d into MarkBind:master Mar 30, 2024
9 checks passed
@github-actions github-actions bot added the r.Minor Version resolver: increment by 0.1.0 label Mar 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
r.Minor Version resolver: increment by 0.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants