- Saved searches
- Use saved searches to filter your results more quickly
- License
- trangntt-016/static-site-generator
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Bake your own site!
- Features
- Open Source
- Cross platform support
- Content Formats
- Open Structure
- Blog Aware
- Draft support
- Self contained
- Build tools
- Template Support
- CSS Framework Support
- Custom Metadata
- Storage Support
- Saved searches
- Use saved searches to filter your results more quickly
- License
- jbake-org/jbake
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.asciidoc
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
License
trangntt-016/static-site-generator
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Java Static Site Generator (JSSG)
A simple Static Site Generator (SSG) for generating a complete HTML website from raw data and files, without having to author any HTML by hand.
io.github.trangntt-016 jssg 1.0.0 jarhttps:
Change the arguments with the following options
git clone https://github.com/trangntt-016/static-site-generator.git
Right click on jssg.bat -> edit -> change D:\SchoolWork\OSD600\static-site-generator\target\jssg-0.0.1-SNAPSHOT.jar to your absolute path where the jssg-0.0.1-SNAPSHOT.jar locates Save
Config the system environment
Start -> Edit system environment variables -> Environment variables -> User variables: Path -> New -> (Absolute path where your jssg.bat file locates)-> ok Then, look at the 2nd block: system variables: Path -> New -> (Absolute path where your jssg.bat file locates)-> ok Ok -> Apply -> Ok
- Display the version of the tool and a list of command lines by using (—h, —v, —help, —v)
- Allow the user to specify an input file or folder to be processed, using —input or -i . Then it generates one .html output file for each input file and the filename is based on the title of the story’s header. For example: jssg -i ‘.\src\main\resources\Sherlock Holmes Selected Stories’
- jssg places all output into a ./dist folder by default. Each time the tool is run, an existing dist folder should first be removed so that dist always contains the last output.
- If —output or -o werent’s specified, dist will be used. If the user specifies a different output path (—output or -o), jssg will use that, it also prints an error if the specified output path is not a valid directory.
- If the user specifies a folder for the input, Jssg automatically generates an index.html file, which has relative links to each of the generated HTML files.
- Add an optional -l, —lang, which indicates the language to use when generating the lang attribute on the root element. For example, —lang fr would mean that the HTML documents are in French, and would include , while -l pt-BR would mean the text is using Brazilian Portuguese: . By default, use en-CA for Canadian English.
- Add support for inline
blocks. In Markdown, enclosing text in a single backtick causes the text to HTML to get rendered as
. text.
. - Add an optional -c, --config which indicates the path to a JSON config file. For example: jssg -c '.\src\main\resources\Sherlock Holmes Selected Stories'
// ssg-config.json < "input": ".\\src\\main\\resources\\Sherlock Holmes Selected Stories\\", "output": "./build", "randomKey": "nullptr", "missing-lang": "fr-CA", >
This project is licensed under the [MIT] License - see the LICENSE.md file for details
Bake your own site!
The following 5 commands will install the latest version of JBake and get you started with a simple static site you can work with.
$ curl -s "https://get.sdkman.io" | bash $ sdk install jbake $ mkdir awesome-jbake && cd awesome-jbake $ jbake -i $ jbake -b -s
Then browse to http://localhost:8820 in your web browser to see your static site
Features
Open Source
Source available on GitHub, licensed under MIT License
Cross platform support
The binary distribution runs on Windows, Unix/Linux and Mac OS X.
Content Formats
Supports AsciiDoc, Markdown and good old HTML formatted content.
Open Structure
Structure your content any way you see fit.
Blog Aware
RSS/Atom feed, archive and tag support.
Draft support
View your draft content before publishing it and making it available to the world.
Self contained
Binary distribution contains everything you need apart from a JRE, no complicated environment setup with 3rd party dependencies.
Build tools
Plugins available for Gradle, Maven, mill, SBuild and sbt.
Template Support
CSS Framework Support
Easily integrate CSS frameworks such as Bootstrap and Foundation.
Custom Metadata
Add as much metadata to content as you like, also exposed to templates.
Storage Support
Store your site content in Dropbox, CVS, SVN, Git or whatever you want.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Java based open source static site/blog generator for developers & designers.
License
jbake-org/jbake
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.asciidoc
JBake is a Java based open source static site/blog generator for developers.
Full documentation is available on jbake.org.
We welcome all contributions to the project both big and small. From new features, bug reports to even spelling mistake corrections in the documentation. Please don’t hesitate to submit an issue.
The Contributing guide provides information on how to submit an issue or create a pull request to fix a bug or add a new feature to JBake.
The project has adopted the Semantic Versioning spec from v2.2.0 onwards to maintain an understandable backwards compatibility strategy.
The version format is as follows:
- An increment of the major version represents incompatible API changes.
- An increment of the minor version represents additional functionality in a backwards-compatible manner.
- An increment of the patch version represents backwards-compatible bug fixes.
- Existence of a label represents a pre-release or build metadata.
Talk to the developers behind JBake:
Talk to other users of JBake on the forum:
The image uses the official adoptopenjdk/openjdk11:alpine image for building a distribution of JBake and adoptopenjdk/openjdk11:alpine-jre for runtime.
To build the Docker image:
$ docker build -t jbake/jbake:latest .
To execute JBake via Docker run this from project directory:
$ docker run --rm -u jbake -v "$PWD":/mnt/site jbake/jbake:latest
This command will execute using the jbake user to avoid running as root and will mount the current working directory as /mnt/site in the Docker container where JBake is expecting your project files to be. By default the Docker image will execute a bake -b only.
If you want to bake and serve your project using the Docker image then you’ll need to override the default command:
$ docker run --rm -u jbake -v "$PWD":/mnt/site -p 8820:8820 jbake/jbake:latest -b -s
This command will also expose port 8820 from the container, you’ll also need to set the following option in your jbake.properties file: