Laserfiche developer portal: https://developer.laserfiche.com
-
Follow the instructions here to install jekyll and bundler.
-
Check installations and versions:
gem --version bundle --version jekyll --version
-
Troubleshoot:
-
If
gem install jekyll bundle
fails due to missing certificate e.g.ERROR: SSL verification error at depth 2: unable to get local issuer certificate (20) ERROR: You must add /C=US/ST=California/L=San Jose/O=Zscaler Inc./OU=Zscaler Inc./CN=Zscaler Root CA/emailAddress=support@zscaler.com to your local trusted store
follow these steps:- Get the missing certificate e.g.
zscaler.crt
orzscaler.pem
1 Add the certificate to Ruby cert store file e.g.C:/Ruby32-x64/bin/etc/ssl/cert.pem
. Actual location can be discovered usingruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
- You may also need to add the certificate to rubygems
ssl_certs
folder e.g.C:\Ruby32-x64\lib\ruby\3.2.0\rubygems\ssl_certs\rubygems.org
- Run
gem update --system
- More details here.
- Get the missing certificate e.g.
-
Dependency issues:
- Install the dependencies from local .gem files if you see errors like
'fetch_http': bad response Forbidden 403 (https://index.rubygems.org/gems/google-protobuf-3.25.3-x64-mingw-ucrt.gem?_sm_nck=1)
when rungem install jekyll
.- Find the dependency needed in your local drive or go to https://index.rubygems.org/gems and download the package file.
- Run
gem install --local <path_to_gem/filename.gem>
.
- Install the dependencies from local .gem files if you see errors like
-
- Navigate to directory
<project_path>/src
. - Run
bundle install
to install all the dependencies needed to serve.- Troubleshoot:
- If you see error
Gem::RemoteFetcher::FetchError bad response Forbidden 403
, stay under directory/src
and follow the steps in the dependency issues in the prerequisites to install the dependency from a local .gem file.
- If you see error
- Troubleshoot:
- Run
bundle exec jekyll serve --destination ../_site
to build and serve the documentation. - Open
localhost:4000
in a browser.
All website content is defined under the folder /src/docs
. Each page is defined by a folder containing a file named index.md
, and optionally linked static assets such as images.
The index.md
jekyll front matter defines page data such as navigation order, title, and optional nested pages. For example:
---
layout: default
title: Laserfiche Title
nav_order: 2
has_children: true
---
to view changes in the browser, run jekyll serve --watch
and browse http://localhost:4000. Refresh to see changes.
To redirect from a list of links to a page, add a redirect-from key in the front matter of the page, and then list the links you want to redirect from in a bulleted list. For example:
---
layout: default
title: Save a Document to Laserfiche
redirect_from:
- /docs/user-documentation/save-to-laserfiche
- /docs/user-docs/save-to-lf
nav_order: 1
parent: Laserfiche Title
---
To check if there are any dead relative links in the project, navigate to src, and run
jekyll build
bundle exec rake
- Trigger the documentation build pipeline from your feature branch.
- Download the artifact
github-pages
from the your build. - Extract the
artifact.tar
file from the artifact. - Extract the files from the
artifact.tar
file. - Create a website in IIS pointing to the folder containing the extracted files. NOTE: IIS may not work if the folder is under
Users/your.name
. - Open the website from IIS.
- Trigger the documentation build pipeline from your feature branch.
- Download the artifact
github-pages
from the your build. - Extract the files from the artifact and navigate to the directory of the extracted files.
- Run
jekyll serve
and browse http://127.0.0.1:4000/
To push documentation changes to production, create a Pull Request to merge into the default branch. The PR completion will trigger the documentation build pipeline which builds and publishes the documentation. You can view the results on Github Pages.