PageRenderTime 28ms CodeModel.GetById 23ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/scalate-wikitext/src/main/scala/org/fusesource/scalate/wikitext/Pages.scala

http://github.com/scalate/scalate
Scala | 42 lines | 8 code | 3 blank | 31 comment | 0 complexity | d80139baae66099c2ba9e69d000b53da MD5 | raw file
 1/**
 2 * Copyright (C) 2009-2011 the original author or authors.
 3 * See the notice.md file distributed with this work for additional
 4 * information regarding copyright ownership.
 5 *
 6 * Licensed under the Apache License, Version 2.0 (the "License");
 7 * you may not use this file except in compliance with the License.
 8 * You may obtain a copy of the License at
 9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18package org.fusesource.scalate.wikitext
19
20import java.io.File
21import org.fusesource.scalate.util.Files
22
23/**
24 * Helper class for working with wiki pages
25 */
26object Pages {
27
28  /**
29   * Returns the page title of the given wiki file.
30   *
31   * By default lets use a naming convention mapping to convert "-" to " " and
32   * upper case each word.
33   *
34   * We may wish to use a more sophisticated mechanism such as by loading a
35   * file called Files.dropExtension(file) + ".page".
36   *
37   * See: http://scalate.assembla.com/spaces/scalate/support/tickets/160
38   */
39  def title(f: File): String = {
40    Files.dropExtension(f).replace('-', ' ').split("\\s+").map(_.capitalize).mkString(" ")
41  }
42}