Giter Site home page Giter Site logo

msoedov / hacker-slides Goto Github PK

View Code? Open in Web Editor NEW
348.0 10.0 67.0 4.92 MB

A small UI for building presentation slides from markdown markup

Home Page: https://murmuring-sierra-54081.herokuapp.com/

License: MIT License

Go 90.87% Makefile 4.15% Dockerfile 4.98%
hacker-slides docker slides markdown reveal-js slideshow revealjs-server slide

hacker-slides's Introduction

Hacker Slides

MIT licensed Build Status Open Source Helpers

Hacker Slides is a self hosted reveal.js presentations editor form markdown files.

Features:

  • Reach ui editor
  • Markdown markup
  • Live reload
  • Color schemes
  • Pdf print
  • Demo version
  • Tiny 10 Mb docker image
  • Optional Basic auth
Edit mode Published
1st 1st
2nd 2nd

This repo is a reworked version of Sandstorm Hacker Slides which features easy set up run outside of Sandstorm and without vagrant-spk. Likewise you can publish and edit your previous markdown slides which is not supported in the original version.

Run from docker image

docker run -it -p 8080:8080 -v $(pwd)/slides:/app/slides msoedov/hacker-slides

Build locally

To build and run it locally

go get
go run main.go

[GIN-debug] Listening and serving HTTP on :8080

And then you can just open http://127.0.0.1:8080 and it's ready to use with sample slides.

Run with docker

docker run -it -p 8080:8080 -v $(pwd)/slides:/app/slides msoedov/hacker-slides

Protect slides with password

Basic auth (disabled by default)

USER=bob PASSWORD=password1 go run main.go
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

WARN[0000] Auth mode enabled
WARN[0000] Visit http://bob:[email protected]:8080
docker run -it -p 8080:8080 -e USER=bob -e PASSWORD=password1 -v $(pwd)/slides:/app/slides msoedov/hacker-slides

Use local images

Store pictures you want to use in the images subfolder, slides/images/ and reference them in the editor as Markdown:

![demoPicture](/images/demo.png)

or as HTML:

<img src="/images/demo.png">

Getting Help

For feature requests and bug reports submit an issue to the GitHub issue tracker

hacker-slides's People

Contributors

caputomarcos avatar codetriage-readme-bot avatar kjellkvinge avatar msoedov avatar nmaas87 avatar ozgurodun avatar peterfaseun avatar servusoft avatar umamimike avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hacker-slides's Issues

[Feature Request] Export formats - ppt & html

similar to #8

there are a bunch of cool/awesome formats that'd be cool to support, but what about the following two in addition to pdf?

  1. ppt
  2. browser-viewable ready html+js

I don't know how difficult these would be?

Display local images?

When trying to drag images into the slides folder and try to display them, I get a 200 response but the body is a fully rendered html file instead of my image. Does the server serve static files from somewhere? Ideally I could just drop in the image into slides and reference it like ![alt-text](./img.png), is that possible?

Yaml formatting broken in presenter (not editor)

I noticed that the Yaml formatting was broken (shows html in the "box) while presenting.
It threw me off for a bit, since it formats fine in the editor.
I saw that the formatting is based on "Ace code editor", but i do not know if this should be fixed there, or not.

I would like to help but have no experiance with Go-lang or much with js either.
If someone has time to walk me through the project i'm down for learing. 😁

Thanks

I just wanted to say thanks! It's exactly the tool I've been looking for. Uncomplicated and flexible enough, it's probably going to save me a lot of time!

Basic authentication for online serve

Hi Alex,
maybe a basic authentication procedure can be written to index and edit pages so the hacker-slides can be served to internet behind a web server. I will try to implement this in my spare time.

Add favicon.ico

[GIN] 2017/11/12 - 17:34:18 | 200 |     189.572µs | 127.0.0.1 |   GET     /slides.md
[GIN] 2017/11/12 - 17:34:18 | 404 |       6.347µs | 127.0.0.1 |   GET     /favicon.ico

mermaid intergation ?

Hi! tnx for great tool.

Can you please add mermaid for diagramm rendering ?
sometimes i need to embed diagrams in slide like this diagram and it will be pretty cool if i can embed them not like img but like text

Preview vs Present

There seems to be an issue where the server side code renders markdown differently than the client side javascript code?

it renders the markdown with the html <span class="hljs-built_in">...</span> readable.

Markdown:

```sh
mkdir my-repository
cd my-repository
git init

Present&Preview:

<pre><code class="lang-sh hljs bash">mkdir my-repository
&lt;span class=<span class="hljs-string">"hljs-built_in"</span>&gt;<span class="hljs-built_in">cd</span>&lt;/span&gt; my-repository
git init
</code></pre>

Preview generated & updated after editing

<pre><code class="lang-sh hljs bash">mkdir my-repository
<span class="hljs-built_in"><span class="hljs-built_in">cd</span></span> my-repository
git init
</code></pre>

hacker slides slow down

The behavior of big slides is slower. It is stored too often.
If the saving takes a long time, you have to wait before you can continue typing.

I have made a small optimization:
servusoft@8314861

It helps a bit, but in optimal case the time should change automatically,
depending on the duration of the storage process.

Start with markdown file in `/slides`

A feature request: If there's markdown files in the /slides folder, start with the first one in there. This would allow me to always start the docker container via docker run --rm -v $(pwd)/slides:/app/slides and I wouldn't have to manually clean them up manually.

I see however how this might be confusing (e.g. which file does it take?). Thoughts on this?

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.