From 4801e270066f4450a97f002e612cb31e6024faed Mon Sep 17 00:00:00 2001 From: timothy-dynamsoft Date: Thu, 5 Jun 2025 11:37:11 -0700 Subject: [PATCH 01/13] WIP partially added intro, guide, and api --- .github/workflows/main.yml | 33 +++++++ .gitignore | 41 ++++++++ README.md | 2 +- _config.yml | 42 +++++++++ _data/full_tree.yml | 6 ++ _data/product_version.yml | 4 + _includes/sidelist-api.html | 2 + _includes/sidelist-full-tree.html | 4 + _includes/sidelist-guides.html | 7 ++ _includes/sidelist-introduction.html | 2 + _includes/sidelist-release-notes.html | 2 + articles/api/index.md | 131 ++++++++++++++++++++++++++ articles/faq/index.md | 10 ++ articles/guides/customize.md | 1 + articles/guides/index.md | 67 +++++++++++++ articles/index.md | 18 ++++ articles/introduction/index.md | 76 +++++++++++++++ articles/release-notes/index.md | 10 ++ search.md | 6 ++ web.config | 35 +++++++ 20 files changed, 498 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/main.yml create mode 100644 .gitignore create mode 100644 _config.yml create mode 100644 _data/full_tree.yml create mode 100644 _data/product_version.yml create mode 100644 _includes/sidelist-api.html create mode 100644 _includes/sidelist-full-tree.html create mode 100644 _includes/sidelist-guides.html create mode 100644 _includes/sidelist-introduction.html create mode 100644 _includes/sidelist-release-notes.html create mode 100644 articles/api/index.md create mode 100644 articles/faq/index.md create mode 100644 articles/guides/customize.md create mode 100644 articles/guides/index.md create mode 100644 articles/index.md create mode 100644 articles/introduction/index.md create mode 100644 articles/release-notes/index.md create mode 100644 search.md create mode 100644 web.config diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..866f8e3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,33 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the workflow will run +on: + # Triggers the workflow on push events to main and preview + push: + branches: + - main + - preview + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains jobs called "Build-Main" and "Build-Preview" + Build-Main: + if: ${{ github.ref == 'refs/heads/main' }} + uses: dynamsoft-docs/Docs-Template-Repo/.github/workflows/called-workflow-build-sync-production.yml@main + with: + doc-repo: driver-license-scanner-docs-js + doc-url: driver-license-scanner/docs/web + secrets: inherit + + Build-Preview: + if: ${{ github.ref == 'refs/heads/preview' }} + uses: dynamsoft-docs/Docs-Template-Repo/.github/workflows/called-workflow-build-sync-testing.yml@preview + with: + doc-repo: driver-license-scanner-docs-js + doc-url: driver-license-scanner/docs/web + secrets: inherit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e868e1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# Layout templates +_layouts/** + +# Assets +assets/font-face/** +assets/img-icon/** +assets/js/** +assets/scripts/** +assets/css/** + +# Web resources +webres/** + +# Includes +_includes/productNav/* +!_/includes/productNav/driver-license-scannerNav.html +_includes/auto-version-list.html +_includes/head.html +_includes/liquid_autoGenerateHistoryList.html +_includes/liquid_breadcrumb.html +_includes/liquid_generateFullTree.html +_includes/liquid_searchVersionTreeFile.html +_includes/livehelp.html +_includes/main-page-head.html +_includes/page_footer.html +_includes/page_header.html +_includes/productNav_OLD.html +_includes/productNav.html +_includes/search-input.html +_includes/trialLicense.html + +# Plugins +_plugins/** + +# Site resources +_site/** + +sitemap.xml +Hide_Tree_Page.md +Gemfile.lock +Gemfile \ No newline at end of file diff --git a/README.md b/README.md index bac34d4..00d7bdd 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# driver-license-scanner-docs-js \ No newline at end of file +WIP diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..d0a81e9 --- /dev/null +++ b/_config.yml @@ -0,0 +1,42 @@ +repository: dynamsoft-docs/driver-license-scanner-docs-js +repositoryUrl: https://github.com/dynamsoft-docs/driver-license-scanner-docs-js/blob/main +docFullPath: https://www.dynamsoft.com/driver-license-scanner/docs/ +firstLevelUrl: /driver-license-scanner/docs/ +docHomePage: /driver-license-scanner/docs/introduction/index.html +product-page-url: https://www.dynamsoft.com/driver-license-scanner + +product-name: /driver-license-scanner-js/ +product-title: { Dynamsoft Driver License Scanner JavaScript Edition } + +introduction: /driver-license-scanner/docs/introduction/ +code-gallery: /driver-license-scanner/docs/code-gallery/ +api: /driver-license-scanner/docs/api/ +guides: /driver-license-scanner/docs/guides/ +release-notes: /driver-license-scanner/docs/release-notes/ + +useVersionTree: true + +assets: /driver-license-scanner/docs/assets/ +edit_icon: /driver-license-scanner/docs/assets/img-icon/edit-icon.png +smile_icon: /driver-license-scanner/docs/assets/img-icon/icon-smile.png +sad_icon: /driver-license-scanner/docs/assets/img-icon/icon-sad.png +download: /driver-license-scanner/downloads/ + +plugins: + - jekyll-sitemap + +defaults: + - scope: + path: "" + values: + layout: "default-layout" + noTitleIndex: true + needAutoGenerateSidebar: true + needGenerateH3Content: true + - scope: + path: "Hide_Tree_Page.html" + values: + sitemap: false + +url: https://www.dynamsoft.com # sitemap root +baseurl: /driver-license-scanner/docs diff --git a/_data/full_tree.yml b/_data/full_tree.yml new file mode 100644 index 0000000..b33176f --- /dev/null +++ b/_data/full_tree.yml @@ -0,0 +1,6 @@ +tree_file_list: + - sidelist-introduction.html + - sidelist-guides.html + - sidelist-api.html + - sidelist-release-notes.html + - sidelist-full-tree.html \ No newline at end of file diff --git a/_data/product_version.yml b/_data/product_version.yml new file mode 100644 index 0000000..4574c27 --- /dev/null +++ b/_data/product_version.yml @@ -0,0 +1,4 @@ +useGroupedVersion: true + +version_info_list: + - value: latest version (X.y) \ No newline at end of file diff --git a/_includes/sidelist-api.html b/_includes/sidelist-api.html new file mode 100644 index 0000000..287adda --- /dev/null +++ b/_includes/sidelist-api.html @@ -0,0 +1,2 @@ +
  • API References +
  • \ No newline at end of file diff --git a/_includes/sidelist-full-tree.html b/_includes/sidelist-full-tree.html new file mode 100644 index 0000000..585d4bd --- /dev/null +++ b/_includes/sidelist-full-tree.html @@ -0,0 +1,4 @@ +{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath targetRelativePath="sidelist-introduction.html" -%} +{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath targetRelativePath="sidelist-guides.html" -%} +{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath targetRelativePath="sidelist-api.html" -%} +{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath targetRelativePath="sidelist-release-notes.html" -%} \ No newline at end of file diff --git a/_includes/sidelist-guides.html b/_includes/sidelist-guides.html new file mode 100644 index 0000000..75eb4f0 --- /dev/null +++ b/_includes/sidelist-guides.html @@ -0,0 +1,7 @@ +
  • + Developer Guides + +
  • diff --git a/_includes/sidelist-introduction.html b/_includes/sidelist-introduction.html new file mode 100644 index 0000000..944c523 --- /dev/null +++ b/_includes/sidelist-introduction.html @@ -0,0 +1,2 @@ +
  • Introduction +
  • \ No newline at end of file diff --git a/_includes/sidelist-release-notes.html b/_includes/sidelist-release-notes.html new file mode 100644 index 0000000..7cef9aa --- /dev/null +++ b/_includes/sidelist-release-notes.html @@ -0,0 +1,2 @@ +
  • Release Notes +
  • \ No newline at end of file diff --git a/articles/api/index.md b/articles/api/index.md new file mode 100644 index 0000000..24ca168 --- /dev/null +++ b/articles/api/index.md @@ -0,0 +1,131 @@ +--- +layout: default-layout +title: #Dynamsoft Driver License Scanner JavaScript Edition - API Reference +description: #Dynamsoft Driver License Scanner JavaScript Edition API Reference +keywords: API Reference, Dynamsoft Driver License Scanner JavaScript Edition, API Reference, Dynamsoft Driver License Scanner JavaScript Edition API References +needAutoGenerateSidebar: true +permalink: /api/index.html +--- + +# Dynamsoft Driver License Scanner API Reference + +The `DriverLicenseScanner` class handles the driver license scanning process including image capture, and result display. + +## Constructor + +### `DriverLicenseScanner` + +#### Syntax + +```typescript +new DriverLicenseScanner(config: DriverLicenseScannerConfig); +``` + +#### Parameters + +- `config` ([`DriverLicenseScannerConfig](#driverlicensescannerconfig)) : Configuration settings for the scanner, including license, container, view settings and more. + +#### Code Snippet + +```html +
    +``` + +```javascript +const driverLicenseScanner = new Dynamsoft.DriverLicenseScanner({ + license: "YOUR_LICENSE_KEY_HERE", // Replace this with your actual license key + scannerViewConfig: { + container: "#driverLicenseScannerContainer", // Use this container for the scanner view + }, +}); +``` + +## Methods + +### `launch()` + +Starts the **driver license scanning workflow**. + +#### Syntax + +```typescript +async launch(file?: File): Promise +``` + +#### Returns + +- A `Promise` resolving to a [`DriverLicenseFullResult`](#driverlicensefullresult) object. + +#### Code Snippet + +```typescript +const result = await driverLicenseScanner.launch(); + +if (result?.correctedImageResult) { + resultContainer.innerHTML = ""; // Clear placeholder content + const canvas = result.correctedImageResult.toCanvas(); + resultContainer.appendChild(canvas); +} else { + resultContainer.innerHTML = "

    No image scanned. Please try again.

    "; +} +``` + +### `dispose()` + +Cleans up resources and hides UI components. + +#### Syntax + +```typescript +dispose(): void +``` + +#### Code Snippet + +```typescript +driverLicenseScanner.dispose(); +console.log("Scanner resources released."); +``` + +## Interfaces + +### DriverLicenseScannerConfig + +Configuration optiosn for initializing a Driver License Scanner. + +```typescript +export interface DriverLicenseScannerConfig { + license?: string; + container?: HTMLElement | string; + + workflowConfig?: DriverLicenseWorkflowConfig; + + // Dynamsoft Core Vision(DCV) specific configs + templateFilePath?: string; + utilizedTemplateNames?: UtilizedTemplateNames; + engineResourcePaths?: EngineResourcePaths; + + // Views Config + scannerViewConfig?: DriverLicenseScannerViewConfig; + resultViewConfig?: DriverLicenseResultViewConfig; + correctionViewConfig?: DriverLicenseCorrectionViewConfig; + + showResultView?: boolean; + showCorrectionView?: boolean; +} +``` + +#### Properties + +| Property | Type | Default Value | Description | +| ----------------------- | -------------------------------- | ------------- | ----------------------------------------------------------------- | +| `license` | `string` | `N/A` | The license key to activate the barcode scanner. | +| `container` | `HTMLElement \| string` | `N/A` | The HTML element or selector where the scanner will be mounted. | +| `workflowConfig` | `DriverLicenseWorkflowConfig` | `N/A` | Configuration settings for the driver license scanning workflow. | +| `templateFilePath` | `string` | `N/A` | Path to the template file for Dynamsoft Core Vision processing. | +| `utilizedTemplateNames` | `UtilizedTemplateNames` | `N/A` | Names of templates to be used during scanning. | +| `engineResourcePaths` | `EngineResourcePaths` | `N/A` | Paths to engine resource files required by Dynamsoft Core Vision. | +| `scannerViewConfig` | `DriverLicenseScannerViewConfig` | `N/A` | Configuration options for the scanner view interface. | +| `resultViewConfig` | `DriverLicenseResultViewConfig` | `N/A` | Configuration options for the result display | +| `showResultView` | `boolean` | `True` | Whether to display the result view after scanning. | +| `showCorrectionView` | `boolean` | `True` | Whether to display the correction view for manual adjustments. | diff --git a/articles/faq/index.md b/articles/faq/index.md new file mode 100644 index 0000000..97a938b --- /dev/null +++ b/articles/faq/index.md @@ -0,0 +1,10 @@ +--- +layout: default-layout +title: #Dynamsoft Driver License Scanner JavaScript Edition - FAQ +description: #Dynamsoft Driver License Scanner JavaScript Edition FAQ +keywords: #FAQ, Dynamsoft Driver License Scanner JavaScript Edition, Frequently Asked Questions +needAutoGenerateSidebar: true +permalink: /faq/index.html +--- + +# Frequently Asked Questions diff --git a/articles/guides/customize.md b/articles/guides/customize.md new file mode 100644 index 0000000..c3d088f --- /dev/null +++ b/articles/guides/customize.md @@ -0,0 +1 @@ +# User Guide for customizing DDLS JavaScript Edition diff --git a/articles/guides/index.md b/articles/guides/index.md new file mode 100644 index 0000000..bd6e0f7 --- /dev/null +++ b/articles/guides/index.md @@ -0,0 +1,67 @@ +--- +layout: default-layout +title: #Dynamsoft Driver License Scanner JavaScript Edition - Developer Guide +description: #Dynamsoft Driver License Scanner JavaScript Edition Developer Guide +keywords: Developer Guides, Dynamsoft Driver License Scanner JavaScript Edition, Developer Guide, Dynamsoft Driver License Scanner JavaScript Edition Developer Guides +needAutoGenerateSidebar: true +permalink: /guides/index.html +--- + +# User Guide for the DDLS JavaScript Edition + +This user guide will walk you through a Hello World sample web application that scans a driver license document using the DDLS JavaScript Edition SDK. We recommend using this sample as a reference when creating your own application. + +> [!TIP] +> Please visit the [Introduction]({{ site.introduction }}index.html) page to learn about the architecture of DDLS with respect to other Dynamsoft products, and the system requirements of the DDLS JavaScript Edition. + +## License + +### Trial License + +When getting started with DDLS JavaScript Edition, we recommend getting your own 30-day trial license through the following modal: + +{% include trialLicense.html %} + +The trial license can be renewed via the [customer portal](TODO: DL LINK) twice, each time for another 15 days, giving you a total of 60 days to develop your own application using the solution. Please contact the [Dynamsoft Support Team](https://www.dynamsoft.com/company/contact/) if you need more time for a full evaluation or have any questions. + +## Quick Start - Hello World + +The first step in using **DDLS** is to obtain its library files. You can acquire them from one of the following sources: + +1. [**GitHub**](https://github.com/Dynamsoft/driver-license-scanner-javascript) – Contains the source files for the **DDS** SDK, which can be compiled into library files. +2. [**npm**](https://www.npmjs.com/package/dynamsoft-driver-license-scanner) – Provides precompiled library files via npm for easier installation. +3. [**CDN**](https://cdn.jsdelivr.net/npm/dynamsoft-driver-license-scanner) – Delivers precompiled library files through a CDN for quick and seamless integration. + +You can choose one of the following methods to set up a Hello World page: + +1. **Build from Source** – Download the source files from GitHub and compile the resource script yourself. +2. **Using Precompiled Script** – Use the precompiled resource scripts from npm or the CDN for a quicker setup. + +### Option 1: Build from Source + +This method retrieves all **DDLS** source files from its [GitHub Repository](https://github.com/Dynamsoft/driver-license-scanner-javascript), compiles them into a distributable package, and then runs a _ready-made_ Hello World sample page included in the repository: + +1. Download **DDS** from [GitHub](https://github.com/Dynamsoft/driver-license-scanner-javascript) as a compressed folder. +2. Extract the contents of the archive, and open the extracted directory in a code editor. +3. Set your [license key](#get-a-trial-license) in the Hello World sample: + 1. Open the Hello World sample at ([`/samples/hello-world.html`](https://github.com/Dynamsoft/driver-license-scanner-javascript/blob/main/samples/hello-world.html)). + 2. Search for `"YOUR_LICENSE_KEY_HERE"`, then replace it with your actual license key. +4. Install project dependencies + In the terminal, navigate to the project root directory and run: + ```bash + npm install + ``` +5. Build the project + After installing dependencies, build the project by running: + ```bash + npm run build + ``` +6. Serve the project locally + Start the local server by running: + `bash + npm run serve + ` + Once the server is running, open the application in a browser using the address provided in the terminal output after running `npm run serve`. + +> [!TIP] +> See the server configuration details in [`/dev-server/index.js`](https://github.com/Dynamsoft/driver-license-scanner-javascript/blob/main/dev-server/index.js). diff --git a/articles/index.md b/articles/index.md new file mode 100644 index 0000000..d4f236b --- /dev/null +++ b/articles/index.md @@ -0,0 +1,18 @@ +--- +layout: home-page +title: #Dynamsoft Driver License Scanner JavaScript Edition Documentation +keywords: #Dynamsoft Driver License Scanner JavaScript Edition, documentation +description: #Dynamsoft Driver License Scanner JavaScript Edition Documentation Homepage +permalink: /index.html +--- + +# {{ site.product-title }} + +- [Introduction]({{ site.introduction }}index.html) + +- Developer Guides + - [DDLS User Guide]({{ site.guides }}index.html) + - [Customize your Driver License Scanner]({{ site.guides }}customize.html) + +- [API References]({{ site.api }}index.html) +- [Release Notes]({{ site.release-notes }}index.html) diff --git a/articles/introduction/index.md b/articles/introduction/index.md new file mode 100644 index 0000000..6d5c859 --- /dev/null +++ b/articles/introduction/index.md @@ -0,0 +1,76 @@ +--- +layout: default-layout +title: Introduction to Dynamsoft Driver License Scanner JavaScript Edition +description: #Dynamsoft Driver License Scanner JavaScript Edition Introduction +keywords: #introduction, Dynamsoft Driver License Scanner JavaScript Edition +needAutoGenerateSidebar: true +permalink: /introduction/index.html +--- + +# Introduction + +In an increasingly digital world where identity verification plays a critical role across industries such as banking, retail, travel, and law enforcement, being able to extract information from a driver's license quickly and accurately is more important than ever. Driver's licenses are one of the most commonly used forms of ID, and automating the process of reading them can save time, reduce errors, and streamline onboarding or check-in processes. + +With the Dynamsoft Driver License Scanner (DDLS) JavaScript Edition, developers can easily integrate driver license scanning capabilities directly into their web applications using just a few lines of code. DDLS extracts key data such as name, address, date of birth, and license number, converting physical documents into structured, readable digital information in real time. + +Whether you are building a customer portal, a check-in kiosk, or a mobile-first identity verification solution, DDLS JavaScript Edition offers powerful performance, flexibility, and ease of use to help you create seamless and secure user experiences. + +The change maintains the flow while removing the specific mention of OCR technology, keeping the focus on the capabilities and benefits of the solution. + +## Common Usage Scenarios + +1. Identity Verification - Driver's licenses serve as primary identification documents across numerous industries. DDLS JavaScript Edition enables quick and accurate identity confirmation for any application requiring reliable user verification, from online services to physical access points. + +2. Document Processing - Any system that handles identity documents can benefit from automated data extraction. DDLS JavaScript Edition transforms manual document processing into an efficient, digital workflow that reduces errors and processing time. + +## Core Products + +The DDLS JavaScript Edition relies on three of Dynamsoft's core products: + +1. [**Dynamsoft Label Recognizer**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-label-recognizer) - A zonal OCR library that is responsible for the text extraction portion of the DDLS workflow. + +2. [**Dynamsoft Code Parser**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-code-parser) - The library designed for parsing encrypted results from the _Barcode Reader_ or _Label Recognizer_ into human-readable information. + +3. [**Dynamsoft Camera Enhancer**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-camera-enhancer) - The library that is responsible for all camera control features, in addition to camera enhancements and basic UI configuration features. + +## Supported Driver License Formats + +The **Dynamsoft Driver License Scanner (DDLS) JavaScript Edition** supports **PDF417** barcodes, the standard encoding format used on driver's licenses and identification cards for automated data extraction and verification. + +**PDF417 Barcode Format** + +- Two-dimensional stacked barcode symbology + +- High data capacity with error correction capabilities + +- Contains structured fields for personal information, license details, and verification data + +- Standardized field codes for consistent data extraction across different jurisdictions + +## Design Principles + +The **DDLS JavaScript Edition** is built around three fundamental design principles that prioritize developer efficiency and user experience: + +1. **Minimal Code Implementation** - Our high-level API delivers complete recognition and parsing functionality in just a few lines of code, dramatically reducing both development time and ongoing maintenance overhead. + +2. **Ready-to-Deploy UI Components** - Pre-built interface components and thoughtfully designed layouts eliminate the need for custom UI development, allowing developers to integrate scanning functionality immediately without additional design work. + +3. **Streamlined Customization** - Intuitive configuration options provide flexible control over scanner behavior and performance settings, making it simple to adapt the solution to specific requirements without complexity. + +## Views + +**DDLS** workflows are composed of **Views**, each of which comes **ready-to-use** and can be easily customized using configuration objects. + +**DDLS** includes the following Views for license scanning and correction:: + +1. **Driver License Scanner View** – Captures documents using a camera scanner. + +2. **Driver License Result View** – Provides a preview of the scanned license and it's data. + +**Driver License Scanner View** +The **`DriverLicenseScannerView`** presents the camera interface along with UI elements for controlling the scanner and camera settings. It also includes icons to load an image from the photo library or close the scanner. A scan guide frame is positioned in the center to help users accurately align the driver’s license for optimal scanning results. + +**Driver License Result View** +The **`DriverLicenseResultView`** is responsible for displaying the final parsed results of the driver license recognition process. The extracted data, along with their corresponding field names, are presented in a scrollable form view beneath the original image of the scanned driver license. + +This view also includes two action buttons: one to copy the parsed results to the clipboard, and another to restart the scanning process if a new scan is needed. diff --git a/articles/release-notes/index.md b/articles/release-notes/index.md new file mode 100644 index 0000000..31ce564 --- /dev/null +++ b/articles/release-notes/index.md @@ -0,0 +1,10 @@ +--- +layout: default-layout +title: #Dynamsoft Driver License Scanner JavaScript Edition - Release Notes +description: #Dynamsoft Driver License Scanner JavaScript Edition Release Notes +keywords: Release Notes, Dynamsoft Driver License Scanner JavaScript Edition, Dynamsoft Driver License Scanner JavaScript Edition Release Notes +needAutoGenerateSidebar: true +permalink: /release-notes/index.html +--- + +# Release Notes diff --git a/search.md b/search.md new file mode 100644 index 0000000..39efa78 --- /dev/null +++ b/search.md @@ -0,0 +1,6 @@ +--- +layout: search-page +title: #Dynamsoft Driver License Scanner JavaScript Edition Search +keywords: #Dynamsoft Driver License Scanner JavaScript Edition Documentation Search +cx: 912cbb35fff874a8d +--- diff --git a/web.config b/web.config new file mode 100644 index 0000000..a2fa31a --- /dev/null +++ b/web.config @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From f464f709a8665060a645f7efe79fa9f2533f1e30 Mon Sep 17 00:00:00 2001 From: timothy-dynamsoft Date: Thu, 5 Jun 2025 12:04:55 -0700 Subject: [PATCH 02/13] add workflow files --- .../called-workflow-build-sync-production.yml | 61 +++++++++++++++ .../called-workflow-build-sync-testing.yml | 74 +++++++++++++++++++ .github/workflows/preview.yml | 25 +++++++ 3 files changed, 160 insertions(+) create mode 100644 .github/workflows/called-workflow-build-sync-production.yml create mode 100644 .github/workflows/called-workflow-build-sync-testing.yml create mode 100644 .github/workflows/preview.yml diff --git a/.github/workflows/called-workflow-build-sync-production.yml b/.github/workflows/called-workflow-build-sync-production.yml new file mode 100644 index 0000000..696c377 --- /dev/null +++ b/.github/workflows/called-workflow-build-sync-production.yml @@ -0,0 +1,61 @@ +name: Build-Sync-Main + +# the workflow will be called by others +on: + workflow_call: + inputs: + doc-repo: + required: true + type: string + doc-url: + required: true + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + + Build-And-Sync-To-Production: + # The type of runner that the job will run on + runs-on: [self-hosted, doc-build] + env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a set of commands using the runners shell + - name: Build the full site - main + run: | + cd ${{ runner.temp }} + mkdir -p DocHome + git clone --depth 1 https://github.com/dynamsoft-docs/${{ inputs.doc-repo }}.git ${{ inputs.doc-repo }} + git clone --depth 1 https://github.com/dynamsoft-docs/Docs-Template-Repo.git Docs-Template-Repo + cp -rfp ./${{ inputs.doc-repo }}/* ./DocHome/ + cp -rfp ./Docs-Template-Repo/* ./DocHome/ + cd DocHome && bundle install && bundle exec jekyll build + # cd DocHome && bundle exec jekyll build + + - name: Sync files + uses: SamKirkland/FTP-Deploy-Action@4.3.0 + with: + server: ${{ secrets.FTP_DYNAMSOFT_LOCAL_SERVER }} + username: ${{ secrets.FTP_DYNAMSOFT_LOCAL_USER }} + password: ${{ secrets.FTP_DYNAMSOFT_LOCAL_PASSWORD }} + port: 21 + local-dir: ${{ runner.temp }}/DocHome/_site/ + server-dir: /www.dynamsoft.com/${{ inputs.doc-url }}/ + + - name: Trigger Webhook + run: | + curl -X POST -H "${{ secrets.WEBHOOK_USER }}" -H "${{ secrets.WEBHOOK_TOKEN }}" -H "Content-Type: application/json" -d "[\"/${{ inputs.doc-url }}/*\"]" ${{ secrets.WEBHOOK_URL }} + + - name: Update Sitemap + if: startsWith(inputs.doc-url, 'barcode-reader') || + startsWith(inputs.doc-url, 'capture-vision') || + startsWith(inputs.doc-url, 'label-recognition') || + startsWith(inputs.doc-url, 'document-normalizer') || + startsWith(inputs.doc-url, 'code-parser') || + startsWith(inputs.doc-url, 'camera-enhancer') + run: | + cd ${{ runner.temp }}/DocHome/assets/scripts/GenerateSitemap + python3 GenerateSitemapByMenuTree.py --product dcv,dbr + curl -T ${{ runner.temp }}/DocHome/assets/scripts/GenerateSitemap/barcode-reader/docs/menu-tree-sitemap.xml ftp://${{ secrets.FTP_DYNAMSOFT_LOCAL_SERVER }}/www.dynamsoft.com/barcode-reader/docs/ --user ${{ secrets.FTP_DYNAMSOFT_LOCAL_USER }}:${{ secrets.FTP_DYNAMSOFT_LOCAL_PASSWORD }} + curl -T ${{ runner.temp }}/DocHome/assets/scripts/GenerateSitemap/capture-vision/docs/menu-tree-sitemap.xml ftp://${{ secrets.FTP_DYNAMSOFT_LOCAL_SERVER }}/www.dynamsoft.com/capture-vision/docs/ --user ${{ secrets.FTP_DYNAMSOFT_LOCAL_USER }}:${{ secrets.FTP_DYNAMSOFT_LOCAL_PASSWORD }} diff --git a/.github/workflows/called-workflow-build-sync-testing.yml b/.github/workflows/called-workflow-build-sync-testing.yml new file mode 100644 index 0000000..e2897a0 --- /dev/null +++ b/.github/workflows/called-workflow-build-sync-testing.yml @@ -0,0 +1,74 @@ +name: Build-Sync-Preview + +# the workflow will be called by others +on: + workflow_call: + inputs: + doc-repo: + required: true + type: string + doc-url: + required: true + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + + Build-Site-Preview: + # The type of runner that the job will run on + runs-on: [self-hosted, doc-build] + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a set of commands using the runners shell + - name: Build the full site with preview branch + run: | + cd ${{ runner.temp }} + mkdir -p DocHome + git clone --depth 1 --branch preview https://github.com/dynamsoft-docs/${{ inputs.doc-repo }}.git ${{ inputs.doc-repo }} + git clone --depth 1 --branch preview https://github.com/dynamsoft-docs/Docs-Template-Repo.git Docs-Template-Repo + cp -rfp ./${{ inputs.doc-repo }}/* ./DocHome/ + cp -rfp ./Docs-Template-Repo/* ./DocHome/ + sed -i -e "1,3s/blob\/master$/blob\/preview/" \ + -e "1,3s/blob\/main$/blob\/preview/" ${{ runner.temp }}/DocHome/_config.yml + cd DocHome && bundle install && bundle exec jekyll build + + - name: 'Create Tar files' + run: tar -czvf ${{ inputs.doc-repo }}.tar.gz -C ${{ runner.temp }}/DocHome/_site . + + - name: Upload the built site as a single artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ inputs.doc-repo }} + path: ${{ inputs.doc-repo }}.tar.gz + retention-days: 2 + + Sync-To-Testing: + # The type of runner that the job will run on + runs-on: [self-hosted, upload-test] + needs: Build-Site-Preview + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a set of commands using the runners shell + - name: Download the artifact + uses: actions/download-artifact@v4 + with: + name: ${{ inputs.doc-repo }} + + - name: 'Extract Tar files' + shell: cmd + run: | + mkdir ${{ runner.temp }}\DocHome\_site + tar -xzf ${{ inputs.doc-repo }}.tar.gz -C ${{ runner.temp }}\DocHome\_site + + - name: Sync files + uses: SamKirkland/FTP-Deploy-Action@4.3.0 + with: + server: ${{ secrets.FTP_TEST_SITE_SERVER }} + username: ${{ secrets.FTP_TEST_SITE_USER }} + password: ${{ secrets.FTP_TEST_SITE_PASSWORD }} + port: ${{ secrets.FTP_TEST_SITE_PORT }} + local-dir: ${{ runner.temp }}\DocHome\_site/ + server-dir: /www.dynamsoft.com/${{ inputs.doc-url }}/ + diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 0000000..e800316 --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,25 @@ +name: Deploy PR previews +on: + push: + branches: + - main + pull_request: + types: + - opened + - reopened + - synchronize + - closed + +jobs: + deploy-preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Deploy PR Preview + uses: rossjrw/pr-preview-action@v1.4.3 + with: + token: ${{ secrets.PREVIEW_TOKEN }} + preview-branch: gh-pages + source-dir: . + umbrella-dir: pr-preview + action: auto \ No newline at end of file From f6fd205a30a880c3d15dced794b1ea2edc104143 Mon Sep 17 00:00:00 2001 From: timothy-dynamsoft Date: Thu, 5 Jun 2025 14:27:28 -0700 Subject: [PATCH 03/13] remove preview.hml --- .github/workflows/preview.yml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 .github/workflows/preview.yml diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml deleted file mode 100644 index e800316..0000000 --- a/.github/workflows/preview.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Deploy PR previews -on: - push: - branches: - - main - pull_request: - types: - - opened - - reopened - - synchronize - - closed - -jobs: - deploy-preview: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Deploy PR Preview - uses: rossjrw/pr-preview-action@v1.4.3 - with: - token: ${{ secrets.PREVIEW_TOKEN }} - preview-branch: gh-pages - source-dir: . - umbrella-dir: pr-preview - action: auto \ No newline at end of file From b1abf178f6d6a20e204de339fb6e8f5b2a3d224c Mon Sep 17 00:00:00 2001 From: timothy-dynamsoft Date: Thu, 5 Jun 2025 14:37:25 -0700 Subject: [PATCH 04/13] test refactor --- introduction/index.md | 76 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 introduction/index.md diff --git a/introduction/index.md b/introduction/index.md new file mode 100644 index 0000000..6d5c859 --- /dev/null +++ b/introduction/index.md @@ -0,0 +1,76 @@ +--- +layout: default-layout +title: Introduction to Dynamsoft Driver License Scanner JavaScript Edition +description: #Dynamsoft Driver License Scanner JavaScript Edition Introduction +keywords: #introduction, Dynamsoft Driver License Scanner JavaScript Edition +needAutoGenerateSidebar: true +permalink: /introduction/index.html +--- + +# Introduction + +In an increasingly digital world where identity verification plays a critical role across industries such as banking, retail, travel, and law enforcement, being able to extract information from a driver's license quickly and accurately is more important than ever. Driver's licenses are one of the most commonly used forms of ID, and automating the process of reading them can save time, reduce errors, and streamline onboarding or check-in processes. + +With the Dynamsoft Driver License Scanner (DDLS) JavaScript Edition, developers can easily integrate driver license scanning capabilities directly into their web applications using just a few lines of code. DDLS extracts key data such as name, address, date of birth, and license number, converting physical documents into structured, readable digital information in real time. + +Whether you are building a customer portal, a check-in kiosk, or a mobile-first identity verification solution, DDLS JavaScript Edition offers powerful performance, flexibility, and ease of use to help you create seamless and secure user experiences. + +The change maintains the flow while removing the specific mention of OCR technology, keeping the focus on the capabilities and benefits of the solution. + +## Common Usage Scenarios + +1. Identity Verification - Driver's licenses serve as primary identification documents across numerous industries. DDLS JavaScript Edition enables quick and accurate identity confirmation for any application requiring reliable user verification, from online services to physical access points. + +2. Document Processing - Any system that handles identity documents can benefit from automated data extraction. DDLS JavaScript Edition transforms manual document processing into an efficient, digital workflow that reduces errors and processing time. + +## Core Products + +The DDLS JavaScript Edition relies on three of Dynamsoft's core products: + +1. [**Dynamsoft Label Recognizer**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-label-recognizer) - A zonal OCR library that is responsible for the text extraction portion of the DDLS workflow. + +2. [**Dynamsoft Code Parser**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-code-parser) - The library designed for parsing encrypted results from the _Barcode Reader_ or _Label Recognizer_ into human-readable information. + +3. [**Dynamsoft Camera Enhancer**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-camera-enhancer) - The library that is responsible for all camera control features, in addition to camera enhancements and basic UI configuration features. + +## Supported Driver License Formats + +The **Dynamsoft Driver License Scanner (DDLS) JavaScript Edition** supports **PDF417** barcodes, the standard encoding format used on driver's licenses and identification cards for automated data extraction and verification. + +**PDF417 Barcode Format** + +- Two-dimensional stacked barcode symbology + +- High data capacity with error correction capabilities + +- Contains structured fields for personal information, license details, and verification data + +- Standardized field codes for consistent data extraction across different jurisdictions + +## Design Principles + +The **DDLS JavaScript Edition** is built around three fundamental design principles that prioritize developer efficiency and user experience: + +1. **Minimal Code Implementation** - Our high-level API delivers complete recognition and parsing functionality in just a few lines of code, dramatically reducing both development time and ongoing maintenance overhead. + +2. **Ready-to-Deploy UI Components** - Pre-built interface components and thoughtfully designed layouts eliminate the need for custom UI development, allowing developers to integrate scanning functionality immediately without additional design work. + +3. **Streamlined Customization** - Intuitive configuration options provide flexible control over scanner behavior and performance settings, making it simple to adapt the solution to specific requirements without complexity. + +## Views + +**DDLS** workflows are composed of **Views**, each of which comes **ready-to-use** and can be easily customized using configuration objects. + +**DDLS** includes the following Views for license scanning and correction:: + +1. **Driver License Scanner View** – Captures documents using a camera scanner. + +2. **Driver License Result View** – Provides a preview of the scanned license and it's data. + +**Driver License Scanner View** +The **`DriverLicenseScannerView`** presents the camera interface along with UI elements for controlling the scanner and camera settings. It also includes icons to load an image from the photo library or close the scanner. A scan guide frame is positioned in the center to help users accurately align the driver’s license for optimal scanning results. + +**Driver License Result View** +The **`DriverLicenseResultView`** is responsible for displaying the final parsed results of the driver license recognition process. The extracted data, along with their corresponding field names, are presented in a scrollable form view beneath the original image of the scanned driver license. + +This view also includes two action buttons: one to copy the parsed results to the clipboard, and another to restart the scanning process if a new scan is needed. From b728994faaa04cc11fbb19aa43b2510f8889b31a Mon Sep 17 00:00:00 2001 From: timothy-dynamsoft Date: Thu, 5 Jun 2025 15:07:25 -0700 Subject: [PATCH 05/13] fix main.yml --- .github/workflows/main.yml | 4 +- introduction/index.md | 76 -------------------------------------- 2 files changed, 2 insertions(+), 78 deletions(-) delete mode 100644 introduction/index.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 866f8e3..357daef 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,7 +21,7 @@ jobs: uses: dynamsoft-docs/Docs-Template-Repo/.github/workflows/called-workflow-build-sync-production.yml@main with: doc-repo: driver-license-scanner-docs-js - doc-url: driver-license-scanner/docs/web + doc-url: driver-license-scanner/docs secrets: inherit Build-Preview: @@ -29,5 +29,5 @@ jobs: uses: dynamsoft-docs/Docs-Template-Repo/.github/workflows/called-workflow-build-sync-testing.yml@preview with: doc-repo: driver-license-scanner-docs-js - doc-url: driver-license-scanner/docs/web + doc-url: driver-license-scanner/docs secrets: inherit diff --git a/introduction/index.md b/introduction/index.md deleted file mode 100644 index 6d5c859..0000000 --- a/introduction/index.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: default-layout -title: Introduction to Dynamsoft Driver License Scanner JavaScript Edition -description: #Dynamsoft Driver License Scanner JavaScript Edition Introduction -keywords: #introduction, Dynamsoft Driver License Scanner JavaScript Edition -needAutoGenerateSidebar: true -permalink: /introduction/index.html ---- - -# Introduction - -In an increasingly digital world where identity verification plays a critical role across industries such as banking, retail, travel, and law enforcement, being able to extract information from a driver's license quickly and accurately is more important than ever. Driver's licenses are one of the most commonly used forms of ID, and automating the process of reading them can save time, reduce errors, and streamline onboarding or check-in processes. - -With the Dynamsoft Driver License Scanner (DDLS) JavaScript Edition, developers can easily integrate driver license scanning capabilities directly into their web applications using just a few lines of code. DDLS extracts key data such as name, address, date of birth, and license number, converting physical documents into structured, readable digital information in real time. - -Whether you are building a customer portal, a check-in kiosk, or a mobile-first identity verification solution, DDLS JavaScript Edition offers powerful performance, flexibility, and ease of use to help you create seamless and secure user experiences. - -The change maintains the flow while removing the specific mention of OCR technology, keeping the focus on the capabilities and benefits of the solution. - -## Common Usage Scenarios - -1. Identity Verification - Driver's licenses serve as primary identification documents across numerous industries. DDLS JavaScript Edition enables quick and accurate identity confirmation for any application requiring reliable user verification, from online services to physical access points. - -2. Document Processing - Any system that handles identity documents can benefit from automated data extraction. DDLS JavaScript Edition transforms manual document processing into an efficient, digital workflow that reduces errors and processing time. - -## Core Products - -The DDLS JavaScript Edition relies on three of Dynamsoft's core products: - -1. [**Dynamsoft Label Recognizer**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-label-recognizer) - A zonal OCR library that is responsible for the text extraction portion of the DDLS workflow. - -2. [**Dynamsoft Code Parser**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-code-parser) - The library designed for parsing encrypted results from the _Barcode Reader_ or _Label Recognizer_ into human-readable information. - -3. [**Dynamsoft Camera Enhancer**]({{ site.dcvb_root }}introduction/index.html#dynamsoft-camera-enhancer) - The library that is responsible for all camera control features, in addition to camera enhancements and basic UI configuration features. - -## Supported Driver License Formats - -The **Dynamsoft Driver License Scanner (DDLS) JavaScript Edition** supports **PDF417** barcodes, the standard encoding format used on driver's licenses and identification cards for automated data extraction and verification. - -**PDF417 Barcode Format** - -- Two-dimensional stacked barcode symbology - -- High data capacity with error correction capabilities - -- Contains structured fields for personal information, license details, and verification data - -- Standardized field codes for consistent data extraction across different jurisdictions - -## Design Principles - -The **DDLS JavaScript Edition** is built around three fundamental design principles that prioritize developer efficiency and user experience: - -1. **Minimal Code Implementation** - Our high-level API delivers complete recognition and parsing functionality in just a few lines of code, dramatically reducing both development time and ongoing maintenance overhead. - -2. **Ready-to-Deploy UI Components** - Pre-built interface components and thoughtfully designed layouts eliminate the need for custom UI development, allowing developers to integrate scanning functionality immediately without additional design work. - -3. **Streamlined Customization** - Intuitive configuration options provide flexible control over scanner behavior and performance settings, making it simple to adapt the solution to specific requirements without complexity. - -## Views - -**DDLS** workflows are composed of **Views**, each of which comes **ready-to-use** and can be easily customized using configuration objects. - -**DDLS** includes the following Views for license scanning and correction:: - -1. **Driver License Scanner View** – Captures documents using a camera scanner. - -2. **Driver License Result View** – Provides a preview of the scanned license and it's data. - -**Driver License Scanner View** -The **`DriverLicenseScannerView`** presents the camera interface along with UI elements for controlling the scanner and camera settings. It also includes icons to load an image from the photo library or close the scanner. A scan guide frame is positioned in the center to help users accurately align the driver’s license for optimal scanning results. - -**Driver License Result View** -The **`DriverLicenseResultView`** is responsible for displaying the final parsed results of the driver license recognition process. The extracted data, along with their corresponding field names, are presented in a scrollable form view beneath the original image of the scanned driver license. - -This view also includes two action buttons: one to copy the parsed results to the clipboard, and another to restart the scanning process if a new scan is needed. From aeebe606235c38edf96de7694e0567eb9eed51b2 Mon Sep 17 00:00:00 2001 From: timothy-dynamsoft Date: Fri, 6 Jun 2025 10:46:47 -0700 Subject: [PATCH 06/13] fix web.config file --- web.config | 1 + 1 file changed, 1 insertion(+) diff --git a/web.config b/web.config index a2fa31a..f6bb537 100644 --- a/web.config +++ b/web.config @@ -6,6 +6,7 @@ + From 5ed7e8d8ecd453e9725eb133b886db6163b58507 Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:46:37 -0700 Subject: [PATCH 07/13] fix: workflow --- .../called-workflow-build-sync-testing.yml | 17 ++++++++--------- .github/workflows/main.yml | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/called-workflow-build-sync-testing.yml b/.github/workflows/called-workflow-build-sync-testing.yml index e2897a0..12477e2 100644 --- a/.github/workflows/called-workflow-build-sync-testing.yml +++ b/.github/workflows/called-workflow-build-sync-testing.yml @@ -13,7 +13,6 @@ on: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - Build-Site-Preview: # The type of runner that the job will run on runs-on: [self-hosted, doc-build] @@ -33,11 +32,11 @@ jobs: -e "1,3s/blob\/main$/blob\/preview/" ${{ runner.temp }}/DocHome/_config.yml cd DocHome && bundle install && bundle exec jekyll build - - name: 'Create Tar files' + - name: "Create Tar files" run: tar -czvf ${{ inputs.doc-repo }}.tar.gz -C ${{ runner.temp }}/DocHome/_site . - name: Upload the built site as a single artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.6.2 with: name: ${{ inputs.doc-repo }} path: ${{ inputs.doc-repo }}.tar.gz @@ -52,23 +51,23 @@ jobs: steps: # Runs a set of commands using the runners shell - name: Download the artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v4.3.0 with: name: ${{ inputs.doc-repo }} - - name: 'Extract Tar files' + - name: "Extract Tar files" shell: cmd run: | mkdir ${{ runner.temp }}\DocHome\_site tar -xzf ${{ inputs.doc-repo }}.tar.gz -C ${{ runner.temp }}\DocHome\_site - name: Sync files - uses: SamKirkland/FTP-Deploy-Action@4.3.0 + uses: SamKirkland/FTP-Deploy-Action@v4.3.5 with: server: ${{ secrets.FTP_TEST_SITE_SERVER }} username: ${{ secrets.FTP_TEST_SITE_USER }} password: ${{ secrets.FTP_TEST_SITE_PASSWORD }} - port: ${{ secrets.FTP_TEST_SITE_PORT }} + protocol: ftps + port: ${{ secrets.FTP_TEST_SITE_PORT }} local-dir: ${{ runner.temp }}\DocHome\_site/ - server-dir: /www.dynamsoft.com/${{ inputs.doc-url }}/ - + server-dir: /www.dynamsoft.com/${{ inputs.doc-url }}/ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 357daef..ba98235 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,8 +26,8 @@ jobs: Build-Preview: if: ${{ github.ref == 'refs/heads/preview' }} - uses: dynamsoft-docs/Docs-Template-Repo/.github/workflows/called-workflow-build-sync-testing.yml@preview + uses: ./.github/workflows/called-workflow-build-sync-testing.yml@preview with: doc-repo: driver-license-scanner-docs-js - doc-url: driver-license-scanner/docs + doc-url: driver-license-scanner/docs/ secrets: inherit From ce2b6b57cd880d405154359da0102171cfc315fa Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:48:00 -0700 Subject: [PATCH 08/13] fix: workflow --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba98235..2cdab2c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: Build-Preview: if: ${{ github.ref == 'refs/heads/preview' }} - uses: ./.github/workflows/called-workflow-build-sync-testing.yml@preview + uses: ./.github/workflows/called-workflow-build-sync-testing.yml with: doc-repo: driver-license-scanner-docs-js doc-url: driver-license-scanner/docs/ From 513e2c6b334f3a93f8881fb3edbf575fa9d7e6e8 Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:40:14 -0700 Subject: [PATCH 09/13] fix: use /web URL path --- .github/workflows/main.yml | 2 +- _config.yml | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2cdab2c..768aba3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,5 +29,5 @@ jobs: uses: ./.github/workflows/called-workflow-build-sync-testing.yml with: doc-repo: driver-license-scanner-docs-js - doc-url: driver-license-scanner/docs/ + doc-url: driver-license-scanner/docs/web/ secrets: inherit diff --git a/_config.yml b/_config.yml index d0a81e9..0b1c322 100644 --- a/_config.yml +++ b/_config.yml @@ -1,25 +1,25 @@ repository: dynamsoft-docs/driver-license-scanner-docs-js repositoryUrl: https://github.com/dynamsoft-docs/driver-license-scanner-docs-js/blob/main -docFullPath: https://www.dynamsoft.com/driver-license-scanner/docs/ -firstLevelUrl: /driver-license-scanner/docs/ -docHomePage: /driver-license-scanner/docs/introduction/index.html +docFullPath: https://www.dynamsoft.com/driver-license-scanner/docs/web/ +firstLevelUrl: /driver-license-scanner/docs/web/ +docHomePage: /driver-license-scanner/docs/web/introduction/index.html product-page-url: https://www.dynamsoft.com/driver-license-scanner product-name: /driver-license-scanner-js/ -product-title: { Dynamsoft Driver License Scanner JavaScript Edition } +product-title: Dynamsoft Driver License Scanner JavaScript Edition -introduction: /driver-license-scanner/docs/introduction/ -code-gallery: /driver-license-scanner/docs/code-gallery/ -api: /driver-license-scanner/docs/api/ -guides: /driver-license-scanner/docs/guides/ -release-notes: /driver-license-scanner/docs/release-notes/ +introduction: driver-license-scanner/docs/web/introduction/ +code-gallery: driver-license-scanner/docs/web/code-gallery/ +api: driver-license-scanner/docs/web/api/ +guides: driver-license-scanner/docs/web/guides/ +release-notes: driver-license-scanner/docs/web/release-notes/ useVersionTree: true -assets: /driver-license-scanner/docs/assets/ -edit_icon: /driver-license-scanner/docs/assets/img-icon/edit-icon.png -smile_icon: /driver-license-scanner/docs/assets/img-icon/icon-smile.png -sad_icon: /driver-license-scanner/docs/assets/img-icon/icon-sad.png +assets: driver-license-scanner/docs/web/assets/ +edit_icon: driver-license-scanner/docs/web/assets/img-icon/edit-icon.png +smile_icon: driver-license-scanner/docs/web/assets/img-icon/icon-smile.png +sad_icon: driver-license-scanner/docs/web/assets/img-icon/icon-sad.png download: /driver-license-scanner/downloads/ plugins: @@ -39,4 +39,4 @@ defaults: sitemap: false url: https://www.dynamsoft.com # sitemap root -baseurl: /driver-license-scanner/docs +baseurl: driver-license-scanner/docs/web From e2cfa85a4a912e447dc1ab076e67f2b10d9c4c22 Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Fri, 6 Jun 2025 14:01:57 -0700 Subject: [PATCH 10/13] fix: config typos --- _config.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/_config.yml b/_config.yml index 0b1c322..14af2d2 100644 --- a/_config.yml +++ b/_config.yml @@ -8,18 +8,18 @@ product-page-url: https://www.dynamsoft.com/driver-license-scanner product-name: /driver-license-scanner-js/ product-title: Dynamsoft Driver License Scanner JavaScript Edition -introduction: driver-license-scanner/docs/web/introduction/ -code-gallery: driver-license-scanner/docs/web/code-gallery/ -api: driver-license-scanner/docs/web/api/ -guides: driver-license-scanner/docs/web/guides/ -release-notes: driver-license-scanner/docs/web/release-notes/ +introduction: /driver-license-scanner/docs/web/introduction/ +code-gallery: /driver-license-scanner/docs/web/code-gallery/ +api: /driver-license-scanner/docs/web/api/ +guides: /driver-license-scanner/docs/web/guides/ +release-notes: /driver-license-scanner/docs/web/release-notes/ useVersionTree: true -assets: driver-license-scanner/docs/web/assets/ -edit_icon: driver-license-scanner/docs/web/assets/img-icon/edit-icon.png -smile_icon: driver-license-scanner/docs/web/assets/img-icon/icon-smile.png -sad_icon: driver-license-scanner/docs/web/assets/img-icon/icon-sad.png +assets: /driver-license-scanner/docs/web/assets/ +edit_icon: /driver-license-scanner/docs/web/assets/img-icon/edit-icon.png +smile_icon: /driver-license-scanner/docs/web/assets/img-icon/icon-smile.png +sad_icon: /driver-license-scanner/docs/web/assets/img-icon/icon-sad.png download: /driver-license-scanner/downloads/ plugins: @@ -39,4 +39,4 @@ defaults: sitemap: false url: https://www.dynamsoft.com # sitemap root -baseurl: driver-license-scanner/docs/web +baseurl: /driver-license-scanner/docs/web From 1d6fe16e2300c92296ca4a6ec959bd905ed37131 Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Fri, 6 Jun 2025 14:11:45 -0700 Subject: [PATCH 11/13] fix: web.config rule typo --- web.config | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web.config b/web.config index f6bb537..09b0160 100644 --- a/web.config +++ b/web.config @@ -29,8 +29,7 @@ --> - - \ No newline at end of file + From 58ae2fdfb90cbc9fef7619b71559a74da115facb Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Fri, 6 Jun 2025 14:14:22 -0700 Subject: [PATCH 12/13] fix: web.config rule typo --- web.config | 1 - 1 file changed, 1 deletion(-) diff --git a/web.config b/web.config index 09b0160..e1b87a9 100644 --- a/web.config +++ b/web.config @@ -6,7 +6,6 @@ - From c44c1206d02ebc3acde5d61137d4813e85fce16d Mon Sep 17 00:00:00 2001 From: dynamsoft-h <172081603+dynamsoft-h@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:16:10 -0700 Subject: [PATCH 13/13] fix: typo --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 14af2d2..8eec74c 100644 --- a/_config.yml +++ b/_config.yml @@ -1,7 +1,7 @@ repository: dynamsoft-docs/driver-license-scanner-docs-js repositoryUrl: https://github.com/dynamsoft-docs/driver-license-scanner-docs-js/blob/main -docFullPath: https://www.dynamsoft.com/driver-license-scanner/docs/web/ -firstLevelUrl: /driver-license-scanner/docs/web/ +docFullPath: https://www.dynamsoft.com/driver-license-scanner/docs/web +firstLevelUrl: /driver-license-scanner/docs/web docHomePage: /driver-license-scanner/docs/web/introduction/index.html product-page-url: https://www.dynamsoft.com/driver-license-scanner