Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allows hide Github and Social links in docs layout #257

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/src/main/tut/docs/settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ micrositeGitHostingUrl := "https://gitlab.com/gitlab-org/gitlab-ce"
micrositeAnalyticsToken := 'UA-XXXXX-Y'
```

- `micrositeGithubLinks`: This setting defines whether to show/hide GitHub links for stars and forks in docs layout. By default, it is enabled.

```
micrositeGithubLinks := true
```

- `micrositeGitterChannel`: This setting is used to enabled the Gitter sidecar Channel functionality, by default is enabled. The chat room is taken from `micrositeGithubOwner` and `micrositeGithubRepo`.

```
Expand All @@ -130,6 +136,12 @@ micrositeGitterChannelUrl := "47deg/sbt-microsites"

- `micrositeHighlightTheme`: by default, the theme of Highlight.js is [default](https://highlightjs.org/static/demo/), however, you can configure it to a different theme thanks to this setting:

- `micrositeShareOnSocial`: This setting defines whether to show/hide the social media buttons in docs layout. By default, it is enabled.

```
micrositeShareOnSocial := true
```

```
micrositeHighlightTheme := "monokai"
```
Expand Down
11 changes: 9 additions & 2 deletions src/main/scala/microsites/MicrositeKeys.scala
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,10 @@ trait MicrositeKeys {
settingKey[String]("Microsite organisation homepage")
val micrositeTwitter: SettingKey[String] = settingKey[String]("Microsite twitter")
val micrositeTwitterCreator: SettingKey[String] = settingKey[String]("Microsite twitter")
val micrositeBaseUrl: SettingKey[String] = settingKey[String]("Microsite site base url")
val micrositeShareOnSocial: SettingKey[Boolean] = settingKey[Boolean](
"Optional. Includes links to share on social media in the layout. Enabled by default."
)
val micrositeBaseUrl: SettingKey[String] = settingKey[String]("Microsite site base url")
val micrositeDocumentationUrl: SettingKey[String] =
settingKey[String]("Microsite site documentation url")
val micrositeHighlightTheme: SettingKey[String] = settingKey[String]("Microsite Highlight Theme")
Expand Down Expand Up @@ -106,6 +109,8 @@ trait MicrositeKeys {
val micrositeGithubRepo: SettingKey[String] = settingKey[String]("Microsite Github repo")
val micrositeGithubToken: SettingKey[Option[String]] =
settingKey[Option[String]]("Microsite Github token for pushing the microsite")
val micrositeGithubLinks: SettingKey[Boolean] = settingKey[Boolean](
"Optional. Includes Github links (forks, stars) in the layout. Enabled by default.")
val micrositeKazariEnabled: SettingKey[Boolean] =
settingKey[Boolean]("Optional. Includes Kazari plugin functionality. Disabled by default.")
val micrositeKazariEvaluatorUrl: SettingKey[String] = settingKey[String](
Expand Down Expand Up @@ -187,7 +192,8 @@ trait MicrositeAutoImportSettings extends MicrositeKeys {
visualSettings = MicrositeVisualSettings(
highlightTheme = micrositeHighlightTheme.value,
palette = micrositePalette.value,
favicons = micrositeFavicons.value
favicons = micrositeFavicons.value,
shareOnSocial = micrositeShareOnSocial.value
),
templateTexts = MicrositeTemplateTexts(
footer = micrositeFooterText.value
Expand Down Expand Up @@ -228,6 +234,7 @@ trait MicrositeAutoImportSettings extends MicrositeKeys {
case GitHub => micrositeGithubRepo.value
case _ => ""
},
githubLinks = micrositeGithubLinks.value,
gitHostingService = micrositeGitHostingService.value.name,
gitHostingUrl = micrositeGitHostingUrl.value,
gitSidecarChat = micrositeGitterChannel.value,
Expand Down
2 changes: 2 additions & 0 deletions src/main/scala/microsites/MicrositesPlugin.scala
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ object MicrositesPlugin extends AutoPlugin {
micrositeDocumentationUrl := "",
micrositeTwitter := "",
micrositeTwitterCreator := "",
micrositeShareOnSocial := true,
micrositeHighlightTheme := "default",
micrositeConfigYaml := ConfigYml(
yamlPath = Some((resourceDirectory in Compile).value / "microsite" / "_config.yml")),
Expand Down Expand Up @@ -105,6 +106,7 @@ object MicrositesPlugin extends AutoPlugin {
micrositeGitterChannel := true,
micrositeGitterChannelUrl := s"${micrositeGithubOwner.value}/${micrositeGithubRepo.value}",
micrositeFooterText := Some(layouts.Layout.footer.toString),
micrositeGithubLinks := true,
includeFilter in makeSite := "*.html" | "*.css" | "*.png" | "*.jpg" | "*.jpeg" | "*.gif" | "*.js" | "*.swf" | "*.md" | "*.webm" | "*.ico" | "CNAME" | "*.yml" | "*.svg" | "*.json",
includeFilter in Jekyll := (includeFilter in makeSite).value,
commands ++= Seq(publishMicrositeCommand)
Expand Down
53 changes: 37 additions & 16 deletions src/main/scala/microsites/layouts/DocsLayout.scala
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,42 @@ class DocsLayout(config: MicrositeSettings) extends Layout(config) {
}

def sideBarAndContent: TypedTag[String] = {
// format: off

val text = s"${config.identity.name} ${config.identity.description}"

def githubLinks: Seq[TypedTag[String]] = {
if (config.gitSettings.githubLinks) {
Seq(
li(
id := "gh-eyes-item",
cls := "hidden-xs",
a(
href := config.gitSiteUrl,
i(cls := "fa fa-eye"),
span("WATCH", span(id := "eyes", cls := "label label-default", "--")))),
li(
id := "gh-stars-item",
cls := "hidden-xs",
a(
href := config.gitSiteUrl,
i(cls := "fa fa-star-o"),
span("STARS", span(id := "stars", cls := "label label-default", "--")))
)
)
} else Seq.empty
}

def shareOnSocial: Seq[TypedTag[String]] = {
if (config.visualSettings.shareOnSocial) {
Seq(
li(a(href := "#", onclick := s"shareSiteTwitter('$text');", i(cls := "fa fa-twitter"))),
li(a(href := "#", onclick := s"shareSiteFacebook('$text');", i(cls := "fa fa-facebook"))),
li(a(href := "#", onclick := "shareSiteGoogle();", i(cls := "fa fa-google-plus")))
)
} else Seq.empty
}

// format: off
div(id := "wrapper",
div(id := "sidebar-wrapper", buildSidebar),
div(id := "page-content-wrapper",
Expand All @@ -49,21 +83,8 @@ class DocsLayout(config: MicrositeSettings) extends Layout(config) {
a(href := "#menu-toggle", id := "menu-toggle", i(cls := "fa fa-bars", aria.hidden := "true"))
),
ul(cls := "pull-right",
li(id := "gh-eyes-item", cls := "hidden-xs",
a(href := config.gitSiteUrl,
i(cls := "fa fa-eye"),
span("WATCH", span(id := "eyes", cls := "label label-default", "--"))
)
),
li(id := "gh-stars-item", cls := "hidden-xs",
a(href := config.gitSiteUrl,
i(cls := "fa fa-star-o"),
span("STARS", span(id := "stars", cls := "label label-default", "--"))
)
),
li(a(href := "#", onclick := s"shareSiteTwitter('$text');", i(cls := "fa fa-twitter"))),
li(a(href := "#", onclick := s"shareSiteFacebook('$text');", i(cls := "fa fa-facebook"))),
li(a(href := "#", onclick := "shareSiteGoogle();", i(cls := "fa fa-google-plus")))
githubLinks,
shareOnSocial
)
)
)
Expand Down
4 changes: 3 additions & 1 deletion src/main/scala/microsites/microsites.scala
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ case class MicrositeFileLocations(
case class MicrositeGitSettings(
githubOwner: String,
githubRepo: String,
githubLinks: Boolean,
gitHostingService: MicrositeKeys.GitHostingService,
gitHostingUrl: String,
gitSidecarChat: Boolean,
Expand All @@ -71,7 +72,8 @@ case class MicrositeFavicon(filename: String, sizeDescription: String)
case class MicrositeVisualSettings(
highlightTheme: String,
palette: Map[String, String],
favicons: Seq[MicrositeFavicon])
favicons: Seq[MicrositeFavicon],
shareOnSocial: Boolean)

case class MicrositeTemplateTexts(footer: Option[String])

Expand Down
5 changes: 4 additions & 1 deletion src/test/scala/microsites/util/Arbitraries.scala
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,10 @@ trait Arbitraries {
githubRepo ← Arbitrary.arbitrary[String]
gitHostingService ← Arbitrary.arbitrary[GitHostingService]
gitHostingUrl ← Arbitrary.arbitrary[String]
githubLinks ← Arbitrary.arbitrary[Boolean]
gitSidecarChat ← Arbitrary.arbitrary[Boolean]
gitSidecarChatUrl ← Arbitrary.arbitrary[String]
shareOnSocial ← Arbitrary.arbitrary[Boolean]
micrositeKazariEnabled ← Arbitrary.arbitrary[Boolean]
micrositeKazariEvaluatorUrl ← Arbitrary.arbitrary[String]
micrositeKazariEvaluatorToken ← Arbitrary.arbitrary[String]
Expand All @@ -155,7 +157,7 @@ trait Arbitraries {
twitter,
twitterCreator,
analytics),
MicrositeVisualSettings(highlightTheme, palette, favicon),
MicrositeVisualSettings(highlightTheme, palette, favicon, shareOnSocial),
MicrositeTemplateTexts(micrositeFooterText),
micrositeConfigYaml,
MicrositeFileLocations(
Expand All @@ -175,6 +177,7 @@ trait Arbitraries {
MicrositeGitSettings(
githubOwner,
githubRepo,
githubLinks,
gitHostingService,
gitHostingUrl,
gitSidecarChat,
Expand Down