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

Add new feature: Support --config with config file #21

Closed
6 tasks done
hlavu opened this issue Oct 4, 2021 · 2 comments
Closed
6 tasks done

Add new feature: Support --config with config file #21

hlavu opened this issue Oct 4, 2021 · 2 comments
Assignees

Comments

@hlavu
Copy link
Contributor

hlavu commented Oct 4, 2021

Hi Dustin, I would like to add a new option -c or --config to your repo. This allows users to specify a config file storing options' values.
By doing so, a user could run the SSG in 2 ways:

#1:
ssg --input ./site --output ./build --stylesheet https://cdn.jsdelivr.net/npm/water.css@2/out/water.css --lang fr

#2:
ssg --config ./ssg-config.json

ssg-config.json content:
{ "input": "./site", "output": "./build", "stylesheet": "https://cdn.jsdelivr.net/npm/water.css@2/out/water.css", "lang": "fr" }

#Tasks:

  • The -c or --config flags accept a file path to a JSON config file.
  • If the file is missing, or can't be parsed as JSON, exit with an appropriate error message.
  • If the -c or --config option is provided, ignore all other options (i.e., a config file overrides other options on the command line).
  • The program should ignore any options in the config file it doesn't recognize. For example, if the SSG doesn't support stylesheets, ignore a stylesheet property.
  • If the config file is missing any options assume the usual defaults. For example, use dist/ as the output directory if it isn't specified.
  • Update README.md
@tuanthanh2067
Copy link
Owner

That sounds great, go for it!

@tuanthanh2067
Copy link
Owner

Closed by #22

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

No branches or pull requests

2 participants