Code Monkey home page Code Monkey logo

obsidian-advanced-slides's Introduction

Advanced Slides for Obsidian


Advanced Slides is the perfect slide deck extension for Obsidian


Features

  • Embed your notes into your slides
  • Live Preview while editing your slides
  • Themes allow you to change the appearance of your slides
  • Annotations allow you to change the style of your slides
  • Export slides as PDF Documents or as HTML Presentations
  • Full support of the Obsidian Markdown Syntax

Getting started


If you like Advanced Slides and want to support my work, I would appreciate a donation

MIT licensed | Copyright Β© 2021 MatthΓ€us Szturc

obsidian-advanced-slides's People

Contributors

actions-user avatar axelson avatar bwagner avatar chris-lovejoy avatar code-factor avatar coffelius avatar crazymax11 avatar fnumatic avatar jacobmarble avatar joxtacy avatar karstenb avatar maksim77 avatar michael-beukman avatar miluoshi avatar mszturc avatar plexipop avatar rxian avatar ryandejaegher avatar scokobro avatar zarthus 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  avatar  avatar

obsidian-advanced-slides's Issues

Incorrect Information in the Documentation

First of all, I want to thank you for your hard work making this awesome plugin and providing detailed documentation.

I just spotted a mistake in the information about Grid Component > Row Flow. I think you mistakenly copied the info from the Column Flow to the Row Flow.
image

Another thing, the last sample for Fragments (see below) doesn't work for me. It only shows a blank slide.

<grid drag="60 55" drop="5 10" bg="red" frag="1">
60 x 55
</grid>

<grid drag="25 55" drop="-5 10" style=bg="green" frag="2">
25 x 55
</grid>

<grid drag="90 20" drop="5 -10" bg="gray" frag="3">
90  x 20
</grid>

Aliases not used on internal links

This [[Internal link|Link]] will use its alias for displaying

should be rendered link this:

This [Link](obsidian://open?vault=test-vault&file=Internal%20link) will use its alias for displaying

Image not rendered

Problem: The image is not properly rendered in preview.

Reproduce: I don't know if anyone else has encountered the same problem. I just encountered it this time

below is the screen shot from my vault
image

Obsidian version: obsidian 0.13.23

Plugin version: the latest 1.6.0

Can not switch on this plugin in the configuration pane

After updating to version 0.14.1, I got the following error messages whenever trying to switch on the plugin. As a result, I cannot use it anymore.

app.js:1 Plugin failure: obsidian-advanced-slides TypeError: a is not a constructor
    at e.<anonymous> (app.js:1)
    at app.js:1
    at Object.next (app.js:1)
    at s (app.js:1)

Split Components doesn't work

Hi!

First of all, thank you for this amazing tool. I was waiting for something like this plugin for a long time. I would like to inform that the Split component does not work with text elements. I was able to make it work with images tho.

Images
image

Text
image

Feature Request: Embed notes as Bullet points

I know that obsidian is able to do it but they embed the note as iframe and i render it as part of the slide

In fact, this is why I wanted to have this feature in this slides plugin. Sometimes, I may embed notes under/as list items in ordinary Obsidian notes, just to show the hierarchical structure of the note content. Therefore, it would be great if this plugin can also support this feature, then I do not need to change the way of linking/embedding notes when creating slides. Or I can easily convert existing notes as slides. This is mainly for having a consistent workflow. :-)

Also, supporting embedding notes, whether as/under list items or not, in a way similar to iframe would be very helpful when the embedded notes have relatively long content. For instance, one may want to embed a note whose main content is multiple lines of code snippet.

  • In such a case, this code snippet is mainly for the purpose of demonstration. Therefore, it would be great if there can be some kind of box/iframe (I forgot the term for that πŸ˜…) of a size that depends on the size of the slide.
  • For the remaining content of the note, one can use some kind of slide bar to scroll up and down.
  • Another benefit of embedding notes like this is to avoid not being able to show the complete content of the note when the content is relatively long.

Of course, there can be a separate option for choosing whether to render the embedded notes as part of the slides or in a way similar to iframe. Such an option can be configured in the front matter for all slides, or it can be configured on a per slide basis.

Originally posted by @wenlzhang in #8 (comment)

[suggestion] Expose configuration options to plugin's setting panel

Hi there,

Thanks very much for continuously polishing this very useful plugin.

I have a tiny suggestion: is it possible to let the user set some (default) options in the plugin's setting panel?

Currently, we need to configure this plugin in each MD file's front matter. Sometimes, it feels redundant when you have many different presentations, while you want to set exactly the same configuration, i.e. theme, transition... What do you think? Maybe this feature is already on your plan?

Thanks!

Internal Links to Images Incorrect

The plugin fails to find the correct image when using internal links to images within a different folder than the presentation. If the image name is unique across the Vault and the image is not in the same folder as the presentation Note, the plugin will fail to find the image. If the name is not unique, or partially matches other image names even, it finds a random image of the set it matches to. In my experience it found an image called Wedge Image.jpg buried deeply in my Vault when looking for Image.jpg

Obsidian finds the right image still, leading to cases where Preview Mode will show one thing, and the slides another.

Feature Request: Header/Footer

Hi!

First of all, thank you for this great plugin!! It really does the job :)

It could be great to have the ability to inject a header/footer to every slide, just like in any other slideshow platform.
As a first approach, it might be done by creating custom css header and footer classes with a floating, position-fixed div.
Then maybe, some metadata variables in the document could customize the icon (just like the theme variable), though I don't quite see how to insert a title for each slide.

What do you think?
Best,

Broken links for frontmatter additional css scripts

In my frontmatter, I have

css: 
- css/some-custom.css

and in previous versions of obsidian-advanced-slides, it loads the script in plugin's css folder just fine. But a recent update seems to have broke it:

Finally, thank you for contributing this plugin to Obsidian! It has allowed me to customize reveal.js much more straightforwardly.

Fragment index is not working

I also tried to test fragment orders, but it did not work for me with the following examples. Am I not doing it correctly?

- Appears last <!-- .element: class="fragment" data-fragment-index="3" -->
- Appears first <!-- .element: class="fragment data-fragment-index='1'" -->
- Appears second <!-- .element: class="fragment data-fragment-index='2'" -->

Originally posted by @wenlzhang in #6 (comment)

Feature Request: A Command for Show Slide Preview

Thanks a lot for making this plugin.

Could you make a command for Show Slide Preview to show the slide preview using a hotkey instead of clicking an icon on the ribbon since I usually hide the left ribbon? Many thanks for considering my request.

Enable / disable listen port

Is that possible to disable listen port by setting or toggle command?
Especially the listened port can be connected from external IP address.

I love this plugin, thanks.

Plugin ignores markdown image resize when using markdown style links

Obsidian's regular presentation mode recognises image resize in markdown i.e. ![text|100](image.png) or ![text|100x100](image.png)

However, the plugin ignores these resize commands. Is it possible to resize images similar to how the plugin allows ![[image.png|100x100]]?

Hightlights in code blocks

Hey!

Thanks for this plugin. This is not really an issue, but rather a question. I didn't find this in the docs:

How can you use the data elements like shown here? https://revealjs.com/code/#line-numbers-%26-highlights

This kind of works

#### Hello from Cover Page
---
<!-- element style="line-height: 3rem;"-->
- test dfkldsfjklsd
- sdfjlsdfkljlk 

<pre>
<code data-line-numbers="3-5|8-10|13-15">
<table>  
	<tr>    
		<td>Apples</td>    
		<td>$1</td>    
		<td>7</td> 
	</tr>  
	<tr>    
		<td>Oranges</td>   
		<td>$2</td>  
		<td>18</td> 
		</tr>
</table>
</code></pre>

but introduced additional tags like tbody.

image

Background Images are difficult to work with

I just stumbled upon the following issue:
I upload my slides to github pages, the workflow is pretty straightforward:

  • showing in browser
  • saving it from browser
  • upload the files (html + directory) to my repository

This works great and the internal linking of pictures are not broken.
With background pictures this doesnt work.
I am using the following command:

!-- .slide: data-background-image="/pathtofile/file.jpg" -->

this works in obsidian and locally. But when i save the site to upload it, the "file.jpg" doesnt appear in the attachments folder and of course the linking doesnt work also.
I guess that those kind of links doesnt get handled well.

I am not sure if it is possible to fix it, i can manually update the links and stuff in the resulting files, but i was hoping to use more background-pictures and it gets tedious to manually update them.

Maybe i also miss an easy workaround here.

Error with internal note links

I got error messages when using internal note links. It would be great if one can click the note link and go to the content on the note.

The slide:

---

## Note link

- [[Note link - 202112160000]]

The error:

Uncaught (in promise) RangeError: Invalid string length
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70146:62)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)
    at InternalLinkProcessor.transformInternalLink (eval at <anonymous> (app.js:1), <anonymous>:70147:19)

New setting request: ability to insert a preamble to every slide for CSS/JS

Hi! Thank you for this very useful project.
I'm lately finding myself copying a bit of custom css styles in every deck of slides I make. It would be nice if it could be pasted directly into the options of the plugin and then automatically included.

Also I was thinking of asking to include a MathJax preamble loaded from a file like the "Extended MathJax" plugin does inside of obsidian, but I think that just the ability to include custom code in every slide deck should provide the ability to do it autonomously and without too much effort.

Fragmented List and markdown formatting

Thank you for this very nice plugin.

I have this fragmented list:

- **Scholars** analyse large numbers of observations to test theories
+ **Politicians** analyse data to determine election strategies, target voters with canvassing, mailings, advertising, phone calls, define their positions on different issues
+ **Companies** use large quantity of data  to understand consumer behaviors, improve operations, client experience, increase sales
+ National and local **governments** use data analysis to guide policy-making
+ **Non-governmental organizations** use data analysis to target and fine-tune program interventions 

If I remove the bold markdown formatting, the list will reveal itself one step at the time, but now only the bolded words appear incrementally.
I don't know if this is an issue with the plugin or with reveal.js,
Screenshot 2022-01-20 at 22 14 51

Request - possible to include print to pdf functionality?

In Reveal.js its possible to extend the webbrowser presentation like so: http://localhost:8000/?print-pdf and save it as a pdf.
This seems to not correctly work with the presentations i get within obsidian:
I show them in webbrowser, extend the url, save it - but its giving a wrong output.
Mostly its duplicating the same slide over and over, sometimes rendering them in a wrong way.

Using Chrome, and the demo from Reveal.js works fine.
Not entirely sure whats causing it.

If possible it would be fantastic to get it working.

EDIT: seems i was wrong, when i right-click and choose PRINT then its not working, but i use ctrl-p to open the print-dialog, i get the correct settings and it works... kind of strange but i guess i can live with it.

Manual installation

This looks great! Could you update the readme with instructions for manual installation? (I gather it's not available as a community plugin)

Feature: support icon shortcode

Hi! First of all, glad to see icons implemented in latest version! I'm the dev of Icon shortcodes plugin, which provides Font Awesome, Remixicon icons out of the box, and allow user to import any custom icon they have. Adding support for icon shortcodes would help user a lot in case they need to use their custom icons.

You can check here for details about its api: https://github.com/aidenlx/obsidian-icon-shortcodes#for-developer, for the use case of advanced slides, you can utilize the exposed post processor, which will replace every :shortcode: with image. (source code is here)

feel free to ask if you have any question :)

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.