úÎwD © 2015 2016 Mark Karpov BSD 3 clause(Mark Karpov <markkarpov@openmailbox.org> experimentalportableNone+F 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.Get textual representation of .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 . unSlug 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_GM4r365osJbECY8hjLWRm1Web.SlugSlugunSlug SlugException InvalidInput InvalidSlug InvalidLengthmkSlug parseSlug truncateSlugtext_BKzOMwCPkuv5n8xwLM3CQGData.Text.InternalTextexcep_ALWSnAGIs53EntXTUEQnRaControl.Monad.Catch MonadThrowbaseGHC.BaseMaybe getSlugWords$fPathPieceSlug$fPersistFieldSqlSlug$fPersistFieldSlug$fFromJSONSlug $fToJSONSlug $fReadSlug $fShowSlug$fExceptionSlugException$fShowSlugException