GithubHelp home page GithubHelp logo

droidcon-sf-24's Introduction

This is a Kobweb project backing a presentation I gave at Droidcon SF in June 2024.

It makes heavy use of the reveal.js presentation framework, which is honestly some fantastic software and worth checking out in its own right.

This presentation serves double duty -- as a guided introduction to a wide range of Kobweb features but also as an actual Kobweb project that curious users can poke through to learn from.

Some potentially interesting things to look at...

  • build.gradle.kts has a powerful markdown.process method which runs through all slides, inspects their frontmatter, and builds up a graph between all the slides, before finally writing all slides, ordered, into a generated components/sections/Slides.kt source file.
  • All slides are markdown (showcasing the power of Markdown support in Kobweb); you can find them under resources/markdown/sections/.
  • All sorts of random code can be found in components/widgets.
  • components/layout/SectionLayout.kt is named so because reveal.js associates a slide per section. We also do some crazy stuff using frontmatter styles / behaviors that can optionally be specified in each slide's frontmatter, which really showcases its power.

Warning

Some of the code is very ugly as parts were written under a fair bit of time pressure. So treat it as more a curiosity than any strict sense of Kobweb best practices.

Running

If you've cloned this project locally and would like to run it yourself, then run the following commands:

$ cd site
$ kobweb run

Once running, open http://localhost:8080/droidcon-sf-24 in your browser to see the result.

Configuring

There are a few features that you can configure, by opening up gradle.properties and changing their values.

# If true, label the current slide number in the bottom right corner.
# This makes it easier to jump to slides by shortcut,
# i.e. press `G` followed by the slide number you want to go to.
# The label is a little ugly but it is very useful for dev mode.
slides.show.number=false

# If true, every slide you visit will be saved into local storage and
# then restored on refresh. This makes it so you can keep seeing the
# same slide when Kobweb refreshes your screen.
slides.remember.last=false

droidcon-sf-24's People

Contributors

bitspittle avatar

Stargazers

Austin Robarts avatar Binay Shaw avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.