1. Go to this page and download the library: Download godbout/dash-docset-builder library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
godbout / dash-docset-builder example snippets
// To generate the docset filename
public const CODE = 'tailwindcss';
// What name will show up in Dash
public const NAME = 'Tailwind CSS';
// Where to download the doc from
public const URL = 'tailwindcss.com';
// What page should the docset show by default
public const INDEX = 'installation.html';
// A link to try the service/app, if any
public const PLAYGROUND = 'https://codesandbox.io/s/github/lbogdan/tailwindcss-playground';
// Where to grab the icon in 16x16 res
public const ICON_16 = 'favicon-16x16.png';
// Where to grab the icon in 32x32 res
public const ICON_32 = 'favicon-32x32.png';
// List of external domains where images or other files have to
// be downloaded, if not from URL defined above
public const EXTERNAL_DOMAINS = [
'refactoring-ui.nyc3.cdn.digitaloceanspaces.com',
'jsdelivr.net',
'code.jquery.com',
'rsms.me',
'googleapis.com',
];
/**
* This method is responsible for generating the Dash Table of Contents
*
* For each HTML file of your downloaded doc, this method will be called.
* You have to parse the file (how you want) and return a collection of
* entries. See Docsets in
* https://github.com/godbout/dash-docsets/tree/master/app/Docsets
* for examples.
*/
public function entries(string $file): Collection
{
$crawler = HtmlPageCrawler::create(Storage::get($file));
$entries = collect();
$entries = $this->generateEntries($crawler, $file);
return $entries;
}
/**
* This method is responsible for formatting the doc for Dash
*
* For each HTML file of your downloaded doc, this method will be called.
* You have to update the content of the file and return that content.
* The file is passed as argument rather than its content because sometimes
* the file name is the only way you have to generate the Dash Online Redirection.
* See Docsets in
* https://github.com/godbout/dash-docsets/tree/master/app/Docsets
* for examples.
*/
public function format(string $file): string
{
$crawler = HtmlPageCrawler::create(Storage::get($file));
$this->modifyHtml($crawler, $file);
return $crawler->saveHTML();
}