{"size": 2307, "ext": "scrbl", "max_stars_repo_path": "scribblings/quickscript-competition-2020.scrbl", "max_stars_repo_name": "Quickscript-Competiton/July2020entries", "max_stars_repo_stars_event_min_datetime": "2020-06-30T12:47:14.000Z", "max_stars_repo_stars_event_max_datetime": "2021-05-20T15:01:33.000Z", "max_issues_repo_path": "scribblings/quickscript-competition-2020.scrbl", "max_issues_repo_name": "Quickscript-Competiton/July2020entries", "max_issues_repo_issues_event_min_datetime": "2020-07-02T03:07:40.000Z", "max_issues_repo_issues_event_max_datetime": "2021-10-31T15:55:01.000Z", "max_forks_repo_path": "scribblings/quickscript-competition-2020.scrbl", "max_forks_repo_name": "Quickscript-Competiton/July2020entries", "max_forks_repo_forks_event_min_datetime": "2020-08-05T17:44:51.000Z", "max_forks_repo_forks_event_max_datetime": "2020-08-21T03:31:43.000Z"}
{"max_stars_count": 6, "max_issues_count": 26, "max_forks_count": 2, "avg_line_length": 34.9545454545, "max_line_length": 143, "alphanum_fraction": 0.6536627655}
#lang scribble/manual
@(require racket/runtime-path
          racket/dict
          racket/path
          racket/match
          quickscript/base)

@; From: https://github.com/Metaxal/quickscript-extra
@; License: [MIT](http://opensource.org/licenses/MIT)

@(define-runtime-path scripts-path "../scripts")

@;; If calling this function is slow, compile the scripts first.
@(define (get-script-help-strings scripts-path)
  (filter
   values
   (for/list ([filename (in-list (directory-list scripts-path #:build? #f))])
     (define filepath (build-path scripts-path filename))
     (and (script-file? filepath)
          (cons (path->string (path-replace-extension filename #""))
                (get-script-help-string filepath))))))
@(define help-strings (get-script-help-strings scripts-path))


@title{Scripts from the Quickscript Competition July 2020}

This is a collection of scripts that result from the @(hyperlink "https://github.com/Metaxal/quickscript" "Quickscript") Competition July 2020.

Each script has its own license (either MIT, Apache 2.0, both, or CC-BY).

@section{Installation}

In DrRacket, in @tt{File|Package manager|Source}, enter @tt{quickscript-competition-2020}.

Or, on the command line, type: @tt{raco pkg install quickscript-competition-2020}.

If DrRacket is already running, click on @tt{Scripts|Manage scripts|Reload menu}.

@section{Scripts}

The following scripts are included.

@(itemlist
  (for/list ([(name str) (in-dict help-strings)])
     (if str
       (item @(index name (bold name)) ": "
             (let loop ([str str])
               (match str
                 ;; link
                 [(regexp #px"^(.*)\\[([^]]+)\\]\\(([^)]+)\\)(.*)$" (list _ pre txt link post))
                  (list (loop pre)
                        (hyperlink link txt)
                        (loop post))]
                 [else str])))
       (error 'make-readme.rkt "No script-help-string for ~a" name))))

@section{Customizing}

If the default keybindings, names or submenus are not to your taste, they can be fully customized
using Quickscript's
@hyperlink["https://docs.racket-lang.org/quickscript/index.html?q=quickscripts#%28part._.Shadow_scripts%29"]{shadow scripts}.

Scripts can also be selectively deactivated from the library
(@tt{Scripts|Manage scripts|Library}).

