jsonresume / jsonresume.org

The mono repo that builds the homepage, utils, ui components, registry and anything else
https://jsonresume.org
88 stars 23 forks source link

Possible to specify gist name? #107

Open duchenpaul opened 5 months ago

duchenpaul commented 5 months ago

Is your feature request related to a problem? Please describe. I have multiple versions of resume, in different languages, but I see the registry is hardcoded the file name has to be resume.json, so I can only render a version of resume at one time.

Describe the solution you'd like Can we have one more parameter to specify the file name of the gist that the registry fetches from?

Describe alternatives you've considered No alternatives

Additional context

thomasdavis commented 5 months ago

Sounds like a good feature. I had this idea that maybe we could use a separator such that;

https://registry.jsonresume.org/thomasdavis -> loads -> resume.json https://registry.jsonresume.org/thomasdavis-en -> loads -> resume-en.json

I don't know if - will work as a separator, but would this solve your user case @duchenpaul

duchenpaul commented 5 months ago

Thanks for your quick fix! So still, I have to name my resume.json as resume-<x>, which I can access my resume from https://registry.jsonresume.org/thomasdavis-<x>, right?

I am happy to take this change, but this will bring another problem, which is '-' can be used as a part of Github username.

There would be a problem if a user named thomasdavis-en, it is a legal Github name, but he will face the problem here.

Suggesting to use other characters as separator, such as @, like https://registry.jsonresume.org/thomasdavis@resume-en, which will load resume-en.json

Reference: GitHub Username Policy

Username may only contain alphanumeric characters or single hyphens, and cannot begin or end with a hyphen.

duchenpaul commented 5 months ago

Not sure if you like this ideahttps://registry.jsonresume.org/{username}@{gist name}, I know this could bring a lot of change to the code.

emeraldjava commented 5 months ago

Could this be supported via a query parameter solution?

https://registry.jsonresume.org/thomasdavis?lang=en&theme=xx

The 'en' value would be passed as a value to a 'lang' name parameter. We know 'theme' already is a parameter, so would follow that pattern.

duchenpaul commented 5 months ago

Could this be supported via a query parameter solution?

https://registry.jsonresume.org/thomasdavis?lang=en&theme=xx

The 'en' value would be passed as a value to a 'lang' name parameter. We know 'theme' already is a parameter, so would follow that pattern.

That is nice as well, but I prefer to use gistname or such as instead of lang, as there may be other versions of resume, gistname - this will make the backend to retrieve the gist named so from the user's gists, in that case the user can have as many version/type of resumes as they want.

mcarbonneaux commented 1 month ago

query parametter seem to be fine! and gistname as parametter also !

https://registry.jsonresume.org/thomasdavis?gistname=myresume1&theme=xx

https://registry.jsonresume.org/thomasdavis?gistname=myresume-en&theme=xx

all are done in getResumeGist that need to add gistname parametter.

to replace resume.json filter with the value of this parametter. https://github.com/jsonresume/jsonresume.org/blob/ff68aceb05f8452dddc56226851f752bc2991b53/apps/registry/lib/getResumeGist.js#L28

they are used in two place:

in the first we can add req.query to retrive gistname parametter. but in the second a don't know how to retrive the req.query (i'm not so fluent with javascript)...

there another place that reference resume.json and gist.githubusercontent.com: https://github.com/jsonresume/jsonresume.org/blob/ff68aceb05f8452dddc56226851f752bc2991b53/apps/registry/app/components/Editor.js#L157

in that way you can resolve mutiple version of resume and multilingale resume.

thomasdavis commented 1 week ago

Sounds like we should just go with the query string, seems easy to implement.