1. 18 Apr, 2023 1 commit
  2. 21 Sep, 2022 1 commit
  3. 12 Aug, 2021 1 commit
    • Greg Spencer's avatar
      Switch document generation to use the snippets package (#87231) · 10e4b040
      Greg Spencer authored
      Switch document generation to use the snippets package instead of the snippets code in the Flutter repo. In the process, some bugs in sample code analysis have been fixed, and I've fixed some more errors in the samples.
      
      This will allow the snippets package to be developed separately from the Flutter repo, and reduce the code in the Flutter repo.
      
      The snippets code is deleted in this PR.
      
      I also converted some comments in the snippet templates to be regular comments instead of doc comments, because having a doc comment block before the imports causes the Dart import sorter to lose the comment. They should have been regular comments in the first place.
      
      The snippets package resides in the assets-for-api-docs repo.
      
      The sample analysis has also been converted to be run in parallel, and I've bumped the Dartdoc version to 1.0.2.
      10e4b040
  4. 08 Jan, 2020 1 commit
  5. 10 Jul, 2019 1 commit
    • Greg Spencer's avatar
      Add anchors to samples (#35906) · 67ee3e19
      Greg Spencer authored
      This adds an "anchor button" to each of the samples so that the user can link to individual samples instead of having to link to just the page. Clicking on the anchor button jumps to the anchor, as well as copying the anchor URL to the clipboard.
      
      There is some oddness in the implementation: because dartdoc uses a <base> tag, the href for the link can't just be "#id", it has to calculate the URL from the current window href. I do that in the onmouseenter and onclick because onload doesn't get triggered for <a> tags (and onmouseenter doesn't get triggered for mobile platforms), but I still want the href to be updated before someone right-clicks it to copy the URL.
      67ee3e19
  6. 15 Feb, 2019 1 commit
    • Greg Spencer's avatar
      Remove remaining "## Sample code" segments, and fix the snippet generator. (#27793) · 262f12b4
      Greg Spencer authored
      This converts all remaining "## Sample code" segments into snippets, and fixes
      the snippet generator to handle multiple snippets in the same dartdoc block
      properly.
      
      I also generated, compiled, and ran each of the existing application samples,
      and fixed them up to be more useful and/or just run without errors.
      
      This PR fixes these problems with examples:
      
      1. Switching tabs in a snippet now works if there is more than one snippet in
         a single dartdoc block.
      2. Generation of snippet code now works if there is more than one snippet.
      3. Contrast of text and links in the code sample block has been improved to
         recommended levels.
      4. Added five new snippet templates, including a "freeform" template to make
         it possible to show examples that need to change the app instantiation.
      5. Fixed several examples to run properly, a couple by adding the "Scaffold"
         widget to the template, a couple by just fixing their code.
      6. Fixed visual look of some of the samples when they run by placing many
         samples inside of a Scaffold.
      7. In order to make it easier to run locally, changed the sample analyzer to
         remove the contents of the supplied temp directory before running, since
         having files that hang around is problematic (only a problem when running
         locally with the `--temp` argument).
      8. Added a `SampleCheckerException` class, and handle sample checking
         exceptions more gracefully.
      9. Deprecated the old "## Sample code" designation, and added enforcement for
         the deprecation.
      10. Removed unnecessary `new` from templates (although they never appeared in
         the samples thanks to dartfmt, but still).
      
      Fixes #26398
      Fixes #27411
      262f12b4
  7. 08 Nov, 2018 1 commit
  8. 07 Nov, 2018 1 commit
    • Greg Spencer's avatar
      Fixes several bugs in samples, quotes HTML properly, and pre-compiles snippet tool. (#24020) · 094f93df
      Greg Spencer authored
      When converting all of the samples to use the snippet tool, I encountered some bugs/shortcomings:
      
      1. The document production took 90 minutes, since the snippet tool was being invoked from the command line each time. I fixed this by snapshotting the executable before running, so it's down to 7 minutes.
      
      2. The sample code was not being properly escaped by the snippet tool, so generics were causing issues in the HTML output. It is now quoted.
      
      3. Code examples that used languages other than Dart were not supported. Anything that highlight.js was compiled for dartdoc with is now supported.
      
      4. The comment color for highlight.js was light grey on white, which was pretty unreadable. It's now dark green and bold.
      094f93df
  9. 23 Oct, 2018 1 commit
    • Greg Spencer's avatar
      Dartdoc snippet extension to inject full featured code snippets in to API docs. (#23281) · 65d3ddd5
      Greg Spencer authored
      This creates a custom dartdoc tool that will generate snippet blocks in our API docs that allow the user to copy easily to the clipboard, and will also embed the snippet code into a template to show it in a larger context with an app.
      
      This PR adds the snippet tool, a template, and a couple of HTML skeleton files, one for snippets that are designed to be in an application setting, and one where it simply puts a nice container around existing snippets, making them easier to copy to the clipboard.
      65d3ddd5