Skip to content

Rewrite of the website - #167

Open
kazam0180 wants to merge 50 commits into
Portable-Linux-Apps:mainfrom
kazam0180:main
Open

Rewrite of the website#167
kazam0180 wants to merge 50 commits into
Portable-Linux-Apps:mainfrom
kazam0180:main

Conversation

@kazam0180

Copy link
Copy Markdown
Contributor

I have looked through it fixed the issues I found. You might want to check FAQ and Wiki page @ivan-hc

@kazam0180

kazam0180 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Some things that need to be done:

  • Add APPIMAGE URLs from old markdown files to the sources field in the new json files
  • Add json parsing support in AM, AppGallery (and vappman too?)
  • Add pla-install URI handling in AM-GUI and AppGallery

The CONTRIBUTING.md is on it's way. Did I miss something?

@ivan-hc

ivan-hc commented Jul 20, 2026

Copy link
Copy Markdown
Member

@andy5995 can you review this?

We also talked about this on Discord.

@kazam0180

Copy link
Copy Markdown
Contributor Author

added source urls from both UNOFFICIAL APPIMAGE: and APPIMAGE: lines in some apps

@andy5995

Copy link
Copy Markdown
Contributor

@ivan-hc I will try.

In my opinion, if a lot of changes are needed for a website rewrite, then it normally should be done in smaller chunks so changes can be efficiently reviewed by the maintainer. If this were my project, I'd suggest a contributor submit the first required stage in a pull request. After that is reviewed and merged, then a "stage 2" commit and PR.

Why are over 3000 files getting changed in this single pull request? The site is normally generated using tools and scripts from the AM repo. If the existing site generator can't write the proposed changes, then my first thought would be a single converter script is needed in the AM repo that will implement the proposed changes to all the appimage entries.

I can't think of any more feedback right now, but if I do, I'll post here. And maybe I'll be able to review more once my questions are answered.

@ivan-hc

ivan-hc commented Jul 20, 2026

Copy link
Copy Markdown
Member

@andy5995 I completely agree. Changes like this need to be analyzed in gradual phases. @coyoteclan here are too many changes to analyze.

@kazam0180

kazam0180 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Why are over 3000 files getting changed in this single pull request? The site is normally generated using tools and scripts from the AM repo. If the existing site generator can't write the proposed changes, then my first thought would be a single converter script is needed in the AM repo that will implement the proposed changes to all the appimage entries.

This is a catalogue, it's expected. The generator script and workflow is updated. It does generate the new website. But I had to test it so I enabled the workflow and ran it. You can see individual commits.
Of course I had to convert the existing apps manually first to retain their data. But new apps and stats are generated like they were previously.

@kazam0180

kazam0180 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

@andy5995 @ivan-hc done.

this app info (AM can use this)
gets converted to this json
and shows as this page

check it out, check other parts of the website if you have the time, if there are changes to be made, i will do it. Then i will remove the 3369 apps generated and replace them with old md files for PR review

@andy5995

Copy link
Copy Markdown
Contributor

I don't see this as being desirable. It would be an extra maintenance burden for this project to have links to the Discord, donation buttons for other projects. How would that information get updated when the links change or become dead over time? @ivan-hc agree?

buttons	
0	"Label_of_Button::https://discord.gg"
1	"Donation_Link::https://someapp.io/donate"

That's from https://coyoteclan.github.io/Portable-Linux-Apps.github.io/apps/testapp.json

@kazam0180

kazam0180 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

I don't see this as being desirable. It would be an extra maintenance burden for this project to have links to the Discord, donation buttons for other projects. How would that information get updated when the links change or become dead over time? @ivan-hc agree?

buttons	
0	"Label_of_Button::https://discord.gg"
1	"Donation_Link::https://someapp.io/donate"

That's from https://coyoteclan.github.io/Portable-Linux-Apps.github.io/apps/testapp.json

That's for an example. The original contributing.md said you can add extra buttons. So I included a way to define extra buttons. The matter of links becoming dead is same as it was before.
We could use a workflow to check for dead links, an action for that already exists.

@ivan-hc

ivan-hc commented Jul 22, 2026

Copy link
Copy Markdown
Member

To write a markdown is simpler than compiling a json, and more customizable for common users.

@kazam0180

kazam0180 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

To write a markdown is simpler than compiling a json, and more customizable for common users.

i think you didn't read my message properly. Users write this:

# some app
description of your app.
only use **bold**, *italic*, ++underline++, lists markdown here
- do not add links or images here
- use SOURCES field if you package someone else's app

# SCREENSHOTS: https://coyoteclan.github.io/Portable-Linux-Apps.github.io/contribute_ss.png https://coyoteclan.github.io/Portable-Linux-Apps.github.io/contribute_ss.png
# SITES: https://someapp.io
# SOURCES: https://github.com/name/someapp-appimage
# BUTTONS: Label_of_Button::https://discord.gg Donation_Link::https://someapp.io/donate

it gets converted to json for site deployment automatically by the workflow but this info file remains intact in the repo. no json files are committed. the json files are only used on website. users write and edit the above mentioned markdown-ish format.

so like i said before, we are getting both benefits now:

  • contributors only edit a simple info file
  • we get a nice json api on the website

i updated the faq entry on how to improve app pages

@andy5995

Copy link
Copy Markdown
Contributor

That's for an example. The original contributing.md said you can add extra buttons. So I included a way to define extra buttons.

Oh, I see now. :)

@andy5995

Copy link
Copy Markdown
Contributor

@andy5995 I completely agree. Changes like this need to be analyzed in gradual phases. @coyoteclan here are too many changes to analyze.

This general guide has more information about "best practices" https://www.deployhq.com/blog/the-perfect-pull-request-best-practices-for-collaborative-development

@andy5995

andy5995 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@andy5995 @ivan-hc done.

this app info (AM can use this) gets converted to this json and shows as this page

check it out, check other parts of the website if you have the time, if there are changes to be made, i will do it. Then i will remove the 3369 apps generated and replace them with old md files for PR review

@coyoteclan Please post the screenshots here instead of the links, then remove all the generated artifacts, update the PR. Then we will be able to review the code that changes the website infrastructure.

@kazam0180

kazam0180 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

@andy5995 @ivan-hc done.
this app info (AM can use this) gets converted to this json and shows as this page
check it out, check other parts of the website if you have the time, if there are changes to be made, i will do it. Then i will remove the 3369 apps generated and replace them with old md files for PR review

@coyoteclan Please post the screenshots here instead of the links, then remove all the generated artifacts, update the PR. Then we will be able to review the code that changes the website infrastructure.

How apps are defined by contributors or "dumb" apps generated by sync with AM workflow:
image

This info file is converted to json and served on the deployed site:
image

And the app.html page renders the json data like this:
image

real app example, virtualbox:

image

@kazam0180

Copy link
Copy Markdown
Contributor Author

thanks for the article link. i will do it now

@kazam0180

Copy link
Copy Markdown
Contributor Author

@ivan-hc i noticed now i have missing categories. you pointed it out before but i didn't pay much attention. i used the script that was present on this repo instead of the AM one. fixing it now and improving the overall logic of category and category page generation

@kazam0180

Copy link
Copy Markdown
Contributor Author

done, we are down to 71 files changed, most of them are deleted files.

run by sync with AM worklfow:

am2pla-site (in this repo) now does only these things:

  • creates apps.json (all apps, used on the Applications list)
  • updates the stats in index.html

run by pages deployment workflow:

simple2json.py replaces the simple app info files in apps/ with json files (used by app.html)

gen_cats.py generates categories/*.json files

gen_cat_pages.py generates <category>.html files in root that render the category data from categories/

@andy5995 @ivan-hc

@kazam0180

Copy link
Copy Markdown
Contributor Author

actually, apps.json too shouldn't be tracked in git, i will move that to the website deployment

@kazam0180

Copy link
Copy Markdown
Contributor Author

done, now we're golden, apps.json is no longer tracked in git. it only lives on website, stats are also not updated in the repo

sync with AM now only removes unnecessary app info files and creates dumb info and icon files
when sync with AM commits new apps/removes apps, the website deployment workflow runs, it downloads x86_64-apps, stats-appimages and stats-portable.
it generates category json files, category html files, apps.json in root and updates the stats in index.html

@kazam0180

Copy link
Copy Markdown
Contributor Author

there is a problem in website deployment, i am debugging it at https://github.com/Wolf-Pack-Clan/Portable-Linux-Apps.github.io

@kazam0180

Copy link
Copy Markdown
Contributor Author

okay now everything seems good

Signed-off-by: Mechamorph <kazam0180@proton.me>
@kazam0180

Copy link
Copy Markdown
Contributor Author

@andy5995 @ivan-hc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants