Add machine-readable section dividers #4542

Closed
opened 2025-11-26 21:04:37 -06:00 by GiteaMirror · 5 comments
Owner

Originally created by @DennisCiba on GitHub (Aug 4, 2022).

Hi,

I am currently working on a little side-project trying to turn this list into a SPA. For this I am downloading and parsing the README.md and non-free.md, which is somewhat cumbersome, especially since the format of those two files differs slightly.

In order to make life easier for me (and others who might want to automatically parse the list) I was wondering if we cannot add section dividers as HTML comments in the markdown files, like this line already present in non-free.md:

c9fc08dbfe/non-free.md (L159)

My suggestion would be:

  • Wrap the list of software in <!-- BEGIN SOFTWARE LIST --> and <!-- END SOFTWARE LIST -->
  • Wrap the list of licenses in <!-- BEGIN LICENSE LIST --> and <!-- END LICENSE LIST -->
  • Wrap the list of external links in <!-- BEGIN LINK LIST --> and <!-- END LINK LIST -->
  • Wrap each category in <!-- BEGIN CATEGORY category_name --> and <!-- END CATEGORY category_name --> (e.g. <-- BEGIN CATEGORY Money, Budgeting and Management -->

I can put in the work of adding this in the files, I just need to know that the idea is something that would be a welcome addition.

Originally created by @DennisCiba on GitHub (Aug 4, 2022). Hi, I am currently working on a little side-project trying to turn this list into a SPA. For this I am downloading and parsing the `README.md` and `non-free.md`, which is somewhat cumbersome, especially since the format of those two files differs slightly. In order to make life easier for me (and others who might want to automatically parse the list) I was wondering if we cannot add section dividers as HTML comments in the markdown files, like this line already present in `non-free.md`: https://github.com/awesome-selfhosted/awesome-selfhosted/blob/c9fc08dbfea45c9a3d5695500f746c931694c1cd/non-free.md?plain=1#L159 My suggestion would be: - Wrap the list of software in `<!-- BEGIN SOFTWARE LIST -->` and `<!-- END SOFTWARE LIST -->` - Wrap the list of licenses in `<!-- BEGIN LICENSE LIST -->` and `<!-- END LICENSE LIST -->` - Wrap the list of external links in `<!-- BEGIN LINK LIST -->` and `<!-- END LINK LIST -->` - Wrap each category in `<!-- BEGIN CATEGORY category_name -->` and `<!-- END CATEGORY category_name -->` (e.g. `<-- BEGIN CATEGORY Money, Budgeting and Management -->` I can put in the work of adding this in the files, I just need to know that the idea is something that would be a welcome addition.
GiteaMirror added the feedback neededdiscussion labels 2025-11-26 21:04:37 -06:00
Author
Owner

@Ki-er commented on GitHub (Aug 4, 2022):

I believe this is currently beihg tackled in #1038

@Ki-er commented on GitHub (Aug 4, 2022): I believe this is currently beihg tackled in #1038
Author
Owner

@nodiscc commented on GitHub (Aug 4, 2022):

Hi @DennisCiba, you can use https://github.com/awesome-selfhosted/awesome-selfhosted-data

@nodiscc commented on GitHub (Aug 4, 2022): Hi @DennisCiba, you can use https://github.com/awesome-selfhosted/awesome-selfhosted-data
Author
Owner

@DennisCiba commented on GitHub (Aug 4, 2022):

Looking into these, it seems that the efforts using a machine-readable format as the list database is still WIP (the issue is open since 2017). If I see it correctly the awesome-selfhosted-data project also does not include entries from non-free.md, which is the problem I'm currently facing. I can parse the README.md just fine assuming that each category has a level 3 heading, but this assumption does not hold for non-free.md, requiring additional logic for that file.

I believe section dividers could be beneficial for #1038 as well, making it easier and more robust to import the initial list into machine-readable format.

@DennisCiba commented on GitHub (Aug 4, 2022): Looking into these, it seems that the efforts using a machine-readable format as the list database is still WIP (the issue is open since 2017). If I see it correctly the awesome-selfhosted-data project also does not include entries from `non-free.md`, which is the problem I'm currently facing. I can parse the `README.md` just fine assuming that each category has a level 3 heading, but this assumption does not hold for `non-free.md`, requiring additional logic for that file. I believe section dividers could be beneficial for #1038 as well, making it easier and more robust to import the initial list into machine-readable format.
Author
Owner

@nodiscc commented on GitHub (Aug 4, 2022):

using a machine-readable format as the list database is still WIP

The system is already usable/close to completion, there are still a few missing features [1] , it's missing the automation setup to update/commit to the original repo when data is changed, and a date must be set for the final switch. In the mean time I have to update/reimport https://github.com/awesome-selfhosted/awesome-selfhosted-data manually semi-regularly (last update 3 days ago).

I can parse the README.md just fine assuming that each category has a level 3 heading, but this assumption does not hold for non-free.md, requiring additional logic for that file.

I just updated non-free.md to use level 3 headings: 3dd58dfdb5

section dividers could be beneficial for https://github.com/awesome-selfhosted/awesome-selfhosted/issues/1038 as well, making it easier and more robust to import

The importer [1] works fine without section dividers. The exporter [2] would also have to be adapted. I'd like to avoid introducing special markup if list sections can be detected from the heading.

Edit: <!-- END SOFTWARE LIST --> markers are there for legacy purposes/obsolete, they should have been removed a while ago.

the awesome-selfhosted-data project also does not include entries from non-free.md

Did not think about this, I will have a look at it soon https://github.com/nodiscc/hecat/issues/57

@nodiscc commented on GitHub (Aug 4, 2022): > using a machine-readable format as the list database is still WIP The system is already usable/close to completion, there are still a few missing features [[1]](https://github.com/nodiscc/hecat/milestone/1) , it's missing the automation setup to update/commit to the original repo when data is changed, and a date must be set for the final switch. In the mean time I have to update/reimport https://github.com/awesome-selfhosted/awesome-selfhosted-data manually semi-regularly (last update 3 days ago). > I can parse the README.md just fine assuming that each category has a level 3 heading, but this assumption does not hold for non-free.md, requiring additional logic for that file. I just updated `non-free.md` to use level 3 headings: https://github.com/awesome-selfhosted/awesome-selfhosted/commit/3dd58dfdb551bf7399cb9899df40653b86cfb9e5 > section dividers could be beneficial for https://github.com/awesome-selfhosted/awesome-selfhosted/issues/1038 as well, making it easier and more robust to import The importer [[1]](https://github.com/nodiscc/hecat/blob/master/hecat/importers/markdown_awesome.py) works fine without section dividers. The exporter [[2]](https://github.com/nodiscc/hecat/blob/master/hecat/exporters/markdown_singlepage.py) would also have to be adapted. I'd like to avoid introducing special markup if list sections can be detected from the heading. _Edit: `<!-- END SOFTWARE LIST -->` markers are there for legacy purposes/obsolete, they should have been removed a while ago_. > the awesome-selfhosted-data project also does not include entries from non-free.md Did not think about this, I will have a look at it soon https://github.com/nodiscc/hecat/issues/57
Author
Owner

@nodiscc commented on GitHub (Aug 5, 2022):

the awesome-selfhosted-data project also does not include entries from non-free.md

Fixed in https://github.com/awesome-selfhosted/awesome-selfhosted-data

Please open an issue on https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues if you think something should be added or changed.

@nodiscc commented on GitHub (Aug 5, 2022): > the awesome-selfhosted-data project also does not include entries from non-free.md Fixed in https://github.com/awesome-selfhosted/awesome-selfhosted-data Please open an issue on https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues if you think something should be added or changed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-selfhosted#4542