úÎ «     © 2015 2017 Mark Karpov BSD 3 clause(Mark Karpov <markkarpov@openmailbox.org> experimentalportableNone0L QSlug. Textual value inside is always guaranteed to have the following qualities:it's not empty;Qit consists only of alpha-numeric groups of characters (words) separated by '-'w dashes in such a way that entire slug cannot start or end in a dash and also two dashes in a row cannot be found;;every character with defined notion of case is lower-cased.]Slugs are good for semantic URLs and also can be used as identifier of a sort in some cases.This exception is thrown by 1 when its input cannot be converted into proper .'Slug cannot be generated for given textInput is not a valid slug, see .Requested slug length is not a positive numberCreate  from {, all necessary transformations are applied. Argument of this function can be title of an article or something like that.Note that result is inside %, that means you can just get it in ), in more complex contexts it will throw  exception using  constructor.)This function also has a useful property: #mkSlug = mkSlug >=> mkSlug . unSlugGet textual representation if .Convert ƒ to possibly empty collection of words. Every word is guaranteed to be non-empty alpha-numeric lowercased sequence of characters.Convert  into $ only when it is already valid slug.This function can throw  exception using  constructor.Ensure that given ¼ is not longer than given maximum number of characters. If truncated slug ends in a dash, remove that dash too. (Dash at the end would violate properties described in documentation for .)0If the first argument is not a positive number,  is thrown using  constructor..Maximum length of slug, must be greater than 0Original non-truncated slugTruncated slug          !"#$%!slug-0.1.6-H7GZrEhjvvjHtbJWy4doZjWeb.SlugSlug SlugException InvalidInput InvalidSlug InvalidLengthmkSlugunSlug parseSlug truncateSlug$fArbitrarySlug$fFromHttpApiDataSlug$fToHttpApiDataSlug$fPathPieceSlug$fPersistFieldSqlSlug$fPersistFieldSlug$fFromJSONSlug $fToJSONSlug $fReadSlug $fShowSlug$fExceptionSlugException$fEqSlugException$fShowSlugException$fEqSlug $fOrdSlug $fDataSlug#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText'exceptions-0.8.3-5OTPYzRazb4DJ75sPncYEhControl.Monad.Catch MonadThrowbaseGHC.BaseMaybe getSlugWords