Commit graph

7 commits

Author SHA1 Message Date
Mike McNeil
8097251565
Put live documentation on fleetdm.com (#1380)
* minor clarifications

* further expand comments and stubs

* absorb custom titles embedded in metadata, plus further comment expansion and a followup fix for something i left hanging in f8cbc14829

* Skip non-markdown files and use real path maths

* Prep for running in parallel (Remove `continue` so this isn't dependent on the `for` loop)

* determine + track unique HTML output paths

* Compile markdown + spit out real HTML  (without involving any but the crunchy nougaty dependency from the very center of everything)

* add md metadata parsing

* add timestamp

* Update build-static-content.js

* attach misc metadata as "other"

* how doc images might should work (this also aligns with how the select few images in the sailsjs.com docs work)

* add file extension to generated HTML files

* "options"=>"meta"

* Make "htmlId" useful for alphabetically sorting pages within their bottom-level section

See recent comments on https://github.com/fleetdm/fleet/issues/706 for more information.

* list out the most important, specific build-time transformations

* Omit ordering prefixes like "1-" from expected content page URLs

* add a little zone for consolidating backwards compatible permalinks

* interpret README.md files by mapping their URLs to match their containing folder

* clarify plan for images

* decrease probability of collisions

* Make capitalization smarter using known acronyms, proper nouns, and a smarter numeric word trim

* Resolve app path in case pwd is different in prod

* Delete HTML output from previous runs, if any

* condense the stuff about github emojis

* got rid of "permalink" thing, since id gets automatically attached during markdown compilation anyway

Also "permalink" isn't even a good name for what this is.  See https://github.com/fleetdm/fleet/issues/706#issuecomment-884693931

* …and that eliminates the need for the cheerio dep!

* Bring in bubbles+syntax highlighting into build script, and remove sails.helpers.compileMarkdownContent()  -- this leaves link munging as a todo though

* trivial (condense comments)

* Remove unused code from toHtml() helper

* Implemented target="_blank" and root-relative-ification

* remove todo about emojis after testing and verifying it works just fine

* trivial: add link to comment in case github emojis matter at some point

* consolidate "what ifs" in comments

* Leave this up to Sarah, for now. (Either bring it back here in the build script or do it all on the frontend)

* Enable /docs and /handbook routes, and add example of a redirect for a legacy/deprecated URL

* implement routing

* Upgrade deps

this takes advantages of the latest work from @eashaw, @rachaelshaw, and the rest of the Sails community

* tweak var names and comments

* make readme pages use their folder names to determine their default (fallback) titles

as discussed in https://github.com/fleetdm/fleet/issues/706#issuecomment-884788002

* first (good enough for now) pass at link rewriting

as discussed in https://github.com/fleetdm/fleet/issues/706#issuecomment-884742072

* Adapt docs pages to build from markdown output

* Continue work on docs pages

* Add landing page

* Remove unused code; minor changes

* Replace regex

* fixes https://github.com/fleetdm/fleet/pull/1380#issuecomment-891429581

* Don't rely on "path" being a global var

* Syle fleetdm doc pages

* Continue work on docs pages

* Fix linting error

* Disable lesshint style warnings

* parasails-has-no-page-script attribute

Added a parasails-has-no-page-script attribute to the docs template, added a check for that attribute in parasails.js and removed the empty page script for 498

* bring in latest parasails dep

* trivial

* Update links to dedupe and not open in new tab unless actually external

* Disable handbook for now til styles are ready

* fix CTA links

* trivial

* make sitemap.xml get served in prod

* hide search boxes for now, remove hard-coded version and make releases open in new tab

* clean out unused files

Co-authored-by: gillespi314 <[email protected]>
Co-authored-by: eashaw <[email protected]>
2021-08-17 19:55:13 -05:00
gillespi314
5bb4a05b44
Fleetdm.com: Template for documentation pages (#1297)
* Create fleetdm.com docs template

* Create controller and view for docs template

* Refine docs template

* Add links to docs template

* Refactor docs page schema

* Add img alt text

* Implement docs landing page

* Update links

* Fix padding; fix related topics; stretch link

* Fix browser compatibility issues

* sandbox in-development doc routes and fiddle around with the aliases to make our doc urls shorter (useful when embedding in code comments, etc)

resolves https://github.com/fleetdm/fleet/pull/1297#discussion_r666682928

Co-authored-by: Mike McNeil <[email protected]>
2021-07-09 00:58:40 -05:00
Mike McNeil
7bb202f961
Publish fleetdm.com/queries (#899)
* /sandbox/queries becomes /queries, etc

* Publish fleetdm.com/queries

Expose query library routes the rest of the way, move remediation data sanitization to the point of entry, and update query library to match (pairing w/ @gillespi314)

* Fix accidental commit of sailsrc (again)
2021-05-28 17:51:47 -05:00
Mike McNeil
ac220ba6e5
Obviate doc-templater dependency + dynamic sitemap.xml (#827)
* trivial

* Simplify build-static-content script and rip out the old markdown compilation for query library

* improve error msg

* trivial

* move helper

* bring in the skeleton

* Compile handbook as well, and bring more stuff inline

* instead of generating sitemap.xml file, could just serve it as a route

* Serve sitemap.xml on the fly

* add failsafe to prevent search engine accidents

* add remaining hand-coded pages to sitemap

* rearrange routes and get rid of commented-out ones

* Update build-static-content.js

* stub out the remaining pieces

* Add assertion (Which actually helped catch a real duplicate query: get-mac-os-disk-free-space-percentage)

* clean out inadvertently committed stuff in sailsrc

* route and serve data for correct query by slug + fix error message re duplicate query slugs + added assertion for duplicate doc page slugs

* yaml == dev dependency

* remove doc-templater dependency, as promised

* stub out handbook page

* clarify comments & remove unnecessary skipAssets

* Update build-static-content.js

* res.badConfig()

* add missing exit that I left out back in ec95df6a4b

* remove unused file

* update comments before commenting out and moving over to basic-documentation.less

* move example styling of generated HTML over to docs/handbook

* include both links

* Fix sitemap.xml URLs in local dev by fixing baseUrl config for local development (since Fleet itself is on 1337).

* followup to d55c777590

* Include query pages in sitemap.xml (+make urls generated for docs/handbook in build script slightly more real) -- but also don't serve sitemap

* sails.config.builtStaticContent.allPages » sails.config.buildStaticContent.markdownPages  (also remove unnecessary trailing slash trimming)

* trivial

* check config when serving sitemap + smarter error message for contributors

* hook up GitHub link to edit the query

* remove html ids

* Update query-detail.ejs

* somre more setup re https://github.com/fleetdm/fleet/issues/368#issuecomment-848566533
2021-05-26 03:24:38 -05:00
Mike McNeil
d50b48e7c2
Absorb yaml queries into website, + stub /queries + /documentation (#812)
* Upgrade to get rid of REPL schmutz

* rename workflow to lessen ambiguity vs. markdown compilation of docs

* ensure lockfile makes it to fleetdm.com prod

* skip force git add of package-lock to avoid confusion for now. (reverts 4e7e23990c)

* rename build script (because now it won't always be markdown source files)

* update metadata to match prev commit

* change key name in generated sailsrc for consistency

* stub query library page

* used named params so others can tell what's up with the forcing

* expand comments

* expand comments

* intermediate commit- playing with inlining the guts from doctemplater

* stub basic docpage shell and a little page to preview that on

* Compile YAML and set up query library page

* clean sailsrc

* optimize build by running everything in parallel

* Add note about the fact that we don't even need to clone anything since we've consolidated it all into one repo now.  facepalm

* un-parallelize one bit that fails in CI if it's parallelized (it'll go away soon anyway)
2021-05-20 03:22:42 -05:00
Mike McNeil
56e143a14f
Compile markdown docs (#714)
* Brought in the mostly-unchanged stuff from Sails website- changed just enough to get it working

* inline beforeConvert and afterConvert, for readability

because it's better when you tell a story with the parts of the story in order

* trivial (change arg name for clarity)

* trivial (apply more up-to-date err callback convention)

* modernize some of the bits relying on reassigning arguments

* convert the rest of the way to async/await

* trivial

* just aesthetics

* remove reliance on app-level config

* mostly i'm doing this to remember how it works

* normalize better so this can be more flexible

* this makes it work (albeit needs a bit more fluffing)

* strip out more sails-specific stuff

* clean up menu files between runs, scrape off a bit more technical debt

* scrape out some more dead code

* use devDependencies for markdown compilation stuff since it won't be compiling at runtime

* stub script for compiling markdown content

* Fill in implementation of script, rename helper.

* add note about the non-markdown file problem

* tweak output paths for clarity

* Improve generated menu content and set up groundwork for being able to easily access it via config

* Use .sailsrc to hold onto menu content, so it's injected into config for easier access (rather than reading JSON files whenever needed)

* more explicit tmp filename, in case we forget how this works later

* fix typo in build script (missing .js extension)

* Stub query detail page and a dev route for developing it

http://localhost:2024/sandbox/example-query

* fix helper friendlyName

* Run compilation in series to avoid race condition in doc-templater when cloning from the same repo.  Add todos about sitemap and further menu data cleanup.

* make sandbox actually useful

* Help prevent accidental checking in of compiled HTML files.

* rename script and generated folder in partials/

* fix/expand script metadata
2021-05-09 23:48:59 -05:00
Mike McNeil
a4bcdb1fdb Fix lint rules and simplify website development by checking in a dev-only config file that sets the default port to 2024 instead of 1337, so you dont have to do that with a command-line option. 2021-03-23 04:36:35 -05:00