googleworkspace / md2googleslides Goto Github PK
View Code? Open in Web Editor NEWGenerate Google Slides from markdown
License: Apache License 2.0
Generate Google Slides from markdown
License: Apache License 2.0
Possible to do this? Do I just include the link to the mp3?
Text appearing in the same block as an image could be uploaded as a caption; I think right now any text on a slide with an image is ignored. Again, if that fits with Slides' layouts.
I would like to format the background color of my slides but I can't find a method to match your example in the readme.
Hi,
I am using the as slides.md and getting a #comment error:
# This is a title slide
## Your name here
---
# This is a section title
---
# Section title & body slide
## This is a subtitle
This is the body
---
# Title & body slide
This is the slide body.
---
# This is the main point {.big}
---
# 100% {.big}
This is the body
---
# Two column layout
This is the left column
{.column}
This is the right column
---
# Slides can have images
![](https://placekitten.com/900/900)
---
# Slides can have background images
![](https://placekitten.com/1600/900){.background}
---
# Slides can have videos
@[youtube](MG8KADiRbOU)
---
# Slide title
![](https://placekitten.com/1600/900){.background}
<!--
These are speaker notes.
-->
---
**Bold**, *italics*, and ~~strikethrough~~ may be used.
Ordered lists:
1. Item 1
1. Item 2
1. Item 2.1
Unordered lists:
* Item 1
* Item 2
* Item 2.1
---
### I :heart: cats
:heart_eyes_cat:
---
### Hello World
```javascript
console.log('Hello world');
Error:
Unable to generate slides: Error: Unsupported inline HTML element: #comment
at inlineTokenRules.html_inline (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:274:23)
at processMarkdownToken (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:84:9)
at inlineTokenRules.inline (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:229:13)
at processMarkdownToken (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:84:9)
at processTokens (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:73:9)
at extractSlides (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:61:5)
at SlideGenerator.generateFromMarkdown (/usr/lib/node_modules/md2gslides/lib/slide_generator.js:86:27)
at generateSlides (/usr/lib/node_modules/md2gslides/bin/md2gslides.js:179:27)
at tryCallOne (/usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:37:12)
at /usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:123:15
at flush (/usr/lib/node_modules/md2gslides/node_modules/asap/raw.js:50:29)
at process._tickCallback (internal/process/next_tick.js:61:11)
Error: Unsupported inline HTML element: #comment
at inlineTokenRules.html_inline (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:274:23)
at processMarkdownToken (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:84:9)
at inlineTokenRules.inline (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:229:13)
at processMarkdownToken (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:84:9)
at processTokens (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:73:9)
at extractSlides (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:61:5)
at SlideGenerator.generateFromMarkdown (/usr/lib/node_modules/md2gslides/lib/slide_generator.js:86:27)
at generateSlides (/usr/lib/node_modules/md2gslides/bin/md2gslides.js:179:27)
at tryCallOne (/usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:37:12)
at /usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:123:15
at flush (/usr/lib/node_modules/md2gslides/node_modules/asap/raw.js:50:29)
at process._tickCallback (internal/process/next_tick.js:61:11)
{}
Just trying to see everything md2googleslides supports in markdown.
Thanks
Does the Google Slides API support Animations? My specific use case is revealing bulleted list items one by one on click ("by paragraph" mode) but I suppose this could be a more general question.
If so, would you be willing to support it?
❤️ ❤️ ❤️
I want to convert google slides to md files is there any package
Hi! I'm unable to convert the example documents given to a gSlide. It appears to be something to do with the parser (at least, that's where the error is). I installed via npm
.
Markdown I wrote:
---
# Title!
## Example!
Error I got:
lyneca at lynux in ~/Documents
$ md2gslides git.md
Unable to generate slides: TypeError: Cannot read property 'references' of undefined
at Array.link (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_inline/link.js:101:25)
at ParserInline.tokenize (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:135:22)
at ParserInline.parse (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:163:8)
at Array.inline (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_core/inline.js:10:23)
at Core.process (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_core.js:51:13)
at MarkdownIt.parse (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/index.js:523:13)
at parseMarkdown (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/lib/extract_slides.js:77:19)
at extractSlides (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/lib/extract_slides.js:56:18)
at SlideGenerator.generateFromMarkdown (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/lib/slide_generator.js:86:27)
at generateSlides (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/bin/md2gslides.js:177:27)
at tryCallOne (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:37:12)
at /home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:123:15
at flush (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/asap/raw.js:50:29)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
TypeError: Cannot read property 'references' of undefined
at Array.link (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_inline/link.js:101:25)
at ParserInline.tokenize (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:135:22)
at ParserInline.parse (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:163:8)
at Array.inline (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_core/inline.js:10:23)
at Core.process (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_core.js:51:13)
at MarkdownIt.parse (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/markdown-it/lib/index.js:523:13)
at parseMarkdown (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/lib/extract_slides.js:77:19)
at extractSlides (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/lib/extract_slides.js:56:18)
at SlideGenerator.generateFromMarkdown (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/lib/slide_generator.js:86:27)
at generateSlides (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/bin/md2gslides.js:177:27)
at tryCallOne (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:37:12)
at /home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:123:15
at flush (/home/lyneca/.nvm/versions/node/v8.2.1/lib/node_modules/md2gslides/node_modules/asap/raw.js:50:29)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
{}
It would be great to be able to specify slide notes in the the markdown file.
The alignment of tables as specified by
https://help.github.com/en/articles/organizing-information-with-tables
Does not seem to work.
---
# Table demo
| Left-aligned | Center-aligned | Right-aligned |
| :--- | :---: | ---: |
| git status | git status | git status |
| git diff | git diff | git diff |
How do I flag this as a feature request? Or it there another syntax that I could use?
It would be great to be able to pipe Markdown to md2googleslides rather than having to save to a file first! Thank you ❤️
Hey! This is awesome! I was like, "I wonder if I can turn my markdown into slides somehow...". Thank you! Does this support line highlighting in code blocks? Thx!
I've been having this error since noon. Tried on different computers.
Unable to generate slides: { Error: ESOCKETTIMEDOUT
at ClientRequest. (/usr/local/lib/node_modules/md2gslides/node_modules/request/request.js:816:19)
at Object.onceWrapper (events.js:281:20)
at ClientRequest.emit (events.js:193:13)
at TLSSocket.emitRequestTimeout (_http_client.js:669:40)
at Object.onceWrapper (events.js:281:20)
at TLSSocket.emit (events.js:193:13)
at TLSSocket.Socket._onTimeout (net.js:450:8)
at listOnTimeout (internal/timers.js:535:17)
at processTimers (internal/timers.js:479:7) code: 'ESOCKETTIMEDOUT', connect: false }
Hi,
If I want to run this in a container, it wants to authorize via a browser which is obviously not going to work.
How can I authorize otherwise? Copying ~/.credentials/md2gslides.json
with correct data?
Thanks
When I try to have a slide with two columns and an image on the right side, I have to align that image when I generate my slides. Here's an example slide:
# Foo
- Foo bullet
- Bar bullet
- Baz bullet
{.column}
![](https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Google_2015_logo.svg/1200px-Google_2015_logo.svg.png)
Thanks for the tool! Really enjoy being able to create my decks and have them be available for PRs!
When I apply bullet formatting to text in the two column layout slide the layout reverts to songle column.
---
# Two column layout
This is the left column
+ This is another row <-- Making this a bullet makes slide single column layout
{.column}
This is the right column
This is another row
I was expecting to create two columns of bulleted lists, side by slide on one slide.
Due to oauth review requirements, need to stop using the embedded client ID and instruct users to create their own GCP project.
I'm finding it painful to work around not having any control over the font size of the generated code blocks. Do you have any suggestions or workarounds for making the font size smaller? I didn't see a font-size
option for the span
tags.
tried both on mac 10.13.6 and linux 4.14.150+
Badly need help.
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: use String.prototype.padStart()
/opt/conda/bin/md2gslides -> /opt/conda/lib/node_modules/md2gslides/bin/md2gslides.js
> [email protected] install /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.7.0/libvips-8.7.0-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=13.7.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../src/common.cc:27:0:
../src/common.h:78:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:78:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:78:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:78:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:78:60: error: expression list treated as compound expression in initializer [-fpermissive]
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:79:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:79:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:80:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:80:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:80:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:80:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:81:48: error: ‘Handle’ is not a member of ‘v8’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:65: error: expected primary-expression before ‘>’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:81:67: error: ‘obj’ was not declared in this scope
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:81:84: error: expected primary-expression before ‘attr’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:81:37: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:90: error: expected ‘;’ before ‘{’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:84:73: error: expected primary-expression before ‘attr’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:79: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:87:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~~~~
../src/common.h:87:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:87:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:87:61: error: expected primary-expression before ‘int’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:87:71: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:93:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~
../src/common.h:93:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
../src/common.h:93:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
ino_t
../src/common.h:93:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~~~~~~~~~~~
../src/common.h:93:87: error: expression list treated as compound expression in initializer [-fpermissive]
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.cc:34:20: error: redefinition of ‘bool sharp::HasAttr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:78:8: note: ‘bool sharp::HasAttr’ previously defined here
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~
../src/common.cc:34:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:34:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:34:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:34:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:37:29: error: redefinition of ‘std::string sharp::AttrAsStr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:79:15: note: ‘std::string sharp::AttrAsStr’ previously declared here
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~
../src/common.cc:37:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:37:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:37:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:37:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:40:38: error: redefinition of ‘std::vector<double> sharp::AttrAsRgba’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:80:23: note: ‘std::vector<double> sharp::AttrAsRgba’ previously declared here
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~~
../src/common.cc:40:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:40:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:40:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:40:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:51:9: error: redefinition of ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:92:20: note: ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’ previously defined here
InputDescriptor* CreateInputDescriptor(
^~~~~~~~~~~~~~~~~~~~~
../src/common.cc:51:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
../src/common.cc:51:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
../src/common.cc:51:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
ino_t
../src/common.cc:51:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~~~~~~~~~~~
cc1plus: warning: unrecognized command line option ‘-Wno-cast-function-type’
sharp.target.mk:134: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:321:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.14.150+
gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
gyp ERR! node -v v13.7.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jovyan/.npm/_logs/2020-02-01T23_42_29_529Z-debug.log
jovyan@jupyter-jun-2exiong-40climate-2ecom:~$ npm install -g md2gslides
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: use String.prototype.padStart()
/opt/conda/bin/md2gslides -> /opt/conda/lib/node_modules/md2gslides/bin/md2gslides.js
> [email protected] install /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.7.0/libvips-8.7.0-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=13.7.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../src/common.cc:27:0:
../src/common.h:78:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:78:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:78:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:78:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:78:60: error: expression list treated as compound expression in initializer [-fpermissive]
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:79:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:79:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:80:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:80:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:80:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:80:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:81:48: error: ‘Handle’ is not a member of ‘v8’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:65: error: expected primary-expression before ‘>’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:81:67: error: ‘obj’ was not declared in this scope
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:81:84: error: expected primary-expression before ‘attr’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:81:37: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:90: error: expected ‘;’ before ‘{’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:84:73: error: expected primary-expression before ‘attr’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:79: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:87:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~~~~
../src/common.h:87:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:87:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:87:61: error: expected primary-expression before ‘int’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:87:71: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:93:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~
../src/common.h:93:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
../src/common.h:93:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
ino_t
../src/common.h:93:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~~~~~~~~~~~
../src/common.h:93:87: error: expression list treated as compound expression in initializer [-fpermissive]
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.cc:34:20: error: redefinition of ‘bool sharp::HasAttr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:78:8: note: ‘bool sharp::HasAttr’ previously defined here
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~
../src/common.cc:34:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:34:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:34:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:34:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:37:29: error: redefinition of ‘std::string sharp::AttrAsStr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:79:15: note: ‘std::string sharp::AttrAsStr’ previously declared here
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~
../src/common.cc:37:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:37:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:37:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:37:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:40:38: error: redefinition of ‘std::vector<double> sharp::AttrAsRgba’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:80:23: note: ‘std::vector<double> sharp::AttrAsRgba’ previously declared here
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~~
../src/common.cc:40:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:40:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:40:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:40:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:51:9: error: redefinition of ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:92:20: note: ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’ previously defined here
InputDescriptor* CreateInputDescriptor(
^~~~~~~~~~~~~~~~~~~~~
../src/common.cc:51:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
../src/common.cc:51:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
../src/common.cc:51:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
ino_t
../src/common.cc:51:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~~~~~~~~~~~
cc1plus: warning: unrecognized command line option ‘-Wno-cast-function-type’
sharp.target.mk:134: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:321:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.14.150+
gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
gyp ERR! node -v v13.7.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jovyan/.npm/_logs/2020-02-01T23_42_29_529Z-debug.logjovyan@jupyter-jun-2exiong-40climate-2ecom:~$ npm install -g md2gslides
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: use String.prototype.padStart()
/opt/conda/bin/md2gslides -> /opt/conda/lib/node_modules/md2gslides/bin/md2gslides.js
> [email protected] install /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.7.0/libvips-8.7.0-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=13.7.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../src/common.cc:27:0:
../src/common.h:78:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:78:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:78:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:78:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:78:60: error: expression list treated as compound expression in initializer [-fpermissive]
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:79:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:79:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:80:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:80:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:80:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:80:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:81:48: error: ‘Handle’ is not a member of ‘v8’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:65: error: expected primary-expression before ‘>’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:81:67: error: ‘obj’ was not declared in this scope
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:81:84: error: expected primary-expression before ‘attr’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:81:37: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:90: error: expected ‘;’ before ‘{’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:84:73: error: expected primary-expression before ‘attr’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:79: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:87:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~~~~
../src/common.h:87:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:87:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:87:61: error: expected primary-expression before ‘int’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:87:71: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:93:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~
../src/common.h:93:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
../src/common.h:93:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
ino_t
../src/common.h:93:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~~~~~~~~~~~
../src/common.h:93:87: error: expression list treated as compound expression in initializer [-fpermissive]
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.cc:34:20: error: redefinition of ‘bool sharp::HasAttr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:78:8: note: ‘bool sharp::HasAttr’ previously defined here
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~
../src/common.cc:34:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:34:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:34:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:34:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:37:29: error: redefinition of ‘std::string sharp::AttrAsStr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:79:15: note: ‘std::string sharp::AttrAsStr’ previously declared here
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~
../src/common.cc:37:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:37:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:37:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:37:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:40:38: error: redefinition of ‘std::vector<double> sharp::AttrAsRgba’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:80:23: note: ‘std::vector<double> sharp::AttrAsRgba’ previously declared here
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~~
../src/common.cc:40:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:40:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:40:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:40:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:51:9: error: redefinition of ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:92:20: note: ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’ previously defined here
InputDescriptor* CreateInputDescriptor(
^~~~~~~~~~~~~~~~~~~~~
../src/common.cc:51:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
../src/common.cc:51:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
../src/common.cc:51:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
ino_t
../src/common.cc:51:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~~~~~~~~~~~
cc1plus: warning: unrecognized command line option ‘-Wno-cast-function-type’
sharp.target.mk:134: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:321:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.14.150+
gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
gyp ERR! node -v v13.7.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jovyan/.npm/_logs/2020-02-01T23_42_29_529Z-debug.logjovyan@jupyter-jun-2exiong-40climate-2ecom:~$ npm install -g md2gslides
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: use String.prototype.padStart()
/opt/conda/bin/md2gslides -> /opt/conda/lib/node_modules/md2gslides/bin/md2gslides.js
> [email protected] install /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.7.0/libvips-8.7.0-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=13.7.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../src/common.cc:27:0:
../src/common.h:78:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:78:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:78:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:78:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:78:60: error: expression list treated as compound expression in initializer [-fpermissive]
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:79:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:79:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:79:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:80:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~
../src/common.h:80:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^
../src/common.h:80:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~
../src/common.h:80:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~
../src/common.h:81:48: error: ‘Handle’ is not a member of ‘v8’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:65: error: expected primary-expression before ‘>’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:81:67: error: ‘obj’ was not declared in this scope
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:81:84: error: expected primary-expression before ‘attr’
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:81:37: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:81:90: error: expected ‘;’ before ‘{’ token
template<typename T> v8::Local<T> AttrAs(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:84:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.h:84:73: error: expected primary-expression before ‘attr’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:84:79: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.h:87:37: error: ‘Handle’ is not a member of ‘v8’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~~~~
../src/common.h:87:54: error: expected primary-expression before ‘>’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:87:56: error: ‘obj’ was not declared in this scope
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:87:61: error: expected primary-expression before ‘int’
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^~~
../src/common.h:84:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.h:87:71: error: expected ‘;’ before ‘{’ token
template<typename T> T AttrTo(v8::Handle<v8::Object> obj, int attr) {
^
../src/common.h:93:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~
../src/common.h:93:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
../src/common.h:93:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~
ino_t
../src/common.h:93:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.h:93:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^~~~~~~~~~~~~~~~
../src/common.h:93:87: error: expression list treated as compound expression in initializer [-fpermissive]
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist);
^
../src/common.cc:34:20: error: redefinition of ‘bool sharp::HasAttr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:78:8: note: ‘bool sharp::HasAttr’ previously defined here
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~
../src/common.cc:34:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:34:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:34:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:34:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:37:29: error: redefinition of ‘std::string sharp::AttrAsStr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:79:15: note: ‘std::string sharp::AttrAsStr’ previously declared here
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~
../src/common.cc:37:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:37:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:37:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:37:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:40:38: error: redefinition of ‘std::vector<double> sharp::AttrAsRgba’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:80:23: note: ‘std::vector<double> sharp::AttrAsRgba’ previously declared here
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr);
^~~~~~~~~~
../src/common.cc:40:38: error: ‘Handle’ is not a member of ‘v8’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~~~
../src/common.cc:40:55: error: expected primary-expression before ‘>’ token
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^
../src/common.cc:40:57: error: ‘obj’ was not declared in this scope
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~
../src/common.cc:40:74: error: expected primary-expression before ‘attr’
std::vector<double> AttrAsRgba(v8::Handle<v8::Object> obj, std::string attr) {
^~~~
../src/common.cc:51:9: error: redefinition of ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:92:20: note: ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’ previously defined here
InputDescriptor* CreateInputDescriptor(
^~~~~~~~~~~~~~~~~~~~~
../src/common.cc:51:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~
../src/common.cc:51:26: error: expected primary-expression before ‘>’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:28: error: ‘input’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
../src/common.cc:51:28: note: suggested alternative: ‘ino_t’
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~
ino_t
../src/common.cc:51:70: error: expected primary-expression before ‘&’ token
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^
../src/common.cc:51:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handle<v8::Object> input, std::vector<v8::Local<v8::Object>> &buffersToPersist
^~~~~~~~~~~~~~~~
cc1plus: warning: unrecognized command line option ‘-Wno-cast-function-type’
sharp.target.mk:134: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/opt/conda/lib/node_modules/md2gslides/node_modules/sharp/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:321:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.14.150+
gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/conda/lib/node_modules/md2gslides/node_modules/sharp
gyp ERR! node -v v13.7.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jovyan/.npm/_logs/2020-02-01T23_42_29_529Z-debug.log
I got everything working but the styles from highlight.js. It isn't a path issue, as I've tested for that... but whatever theme I choose it still just uploads the same way (white background with black text), even if I change the default theme to something else. I don't see any errors anywhere, it just seems to check for the style file and then ignore it. Any ideas?
Remark.js is an awesome tool for creating html slide with markdown and it also supports an external .md file.
The external .md file has some syntax that md2googleslides doesn't support and generate an error when I upload .md file to drive.
It would be awesome if this tool could support the Remark.js styling syntax like:
background-image: url(img/image.jpg)
class: center, middle
or
.center[ ![Alt Text](some_domain.tld/img/my_image.jpg) ]
Thanks
I LOVE this. It increases my productivity significantly. However, it would be so much better if I could specify where the generates slides are saved on my drive. Or even if I generate one time and move it, if I can push changes to the new location.
Are there any technical hurdles that I'm unaware of? I'd be happy to contribute code but want to make sure I'm not trying to build something you've already considered and decided against.
I've been able to generate slides previously but recently it's been timing out. The app is still authenticated and an empty presentation is created so I don't see an issue there.
Is there a setting or modification I can make to extend the timeout and/or enable debug logging?
md2gslides -u [email protected] -t TestPresentation1 -e -n example.md
Unable to generate slides: { Error: ETIMEDOUT
at Timeout._onTimeout (/usr/local/lib/node_modules/md2gslides/node_modules/request/request.js:759:15)
at ontimeout (timers.js:469:11)
at tryOnTimeout (timers.js:304:5)
at Timer.listOnTimeout (timers.js:264:5) code: 'ETIMEDOUT', connect: false }
Error: ETIMEDOUT
at Timeout._onTimeout (/usr/local/lib/node_modules/md2gslides/node_modules/request/request.js:759:15)
at ontimeout (timers.js:469:11)
at tryOnTimeout (timers.js:304:5)
at Timer.listOnTimeout (timers.js:264:5)
{
"code": "ETIMEDOUT",
"connect": false
}
Note, this was trying to generate a presentation based on the example.md in the examples/ folder. It worked previously as mentioned so there seems to be something else at fault here.
I tried to install on MacOSX Mojave 10.14.5 (18F132), but got this error message:
mylaptop:~ sharuzzamanahmatraslan$ npm install -g md2gslides
npm WARN deprecated [email protected]: use String.prototype.padStart()
/usr/local/bin/md2gslides -> /usr/local/lib/node_modules/md2gslides/bin/md2gslides.js
[email protected] install /usr/local/lib/node_modules/md2gslides/node_modules/sharp
(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
info sharp Using cached /Users/sharuzzamanahmatraslan/.npm/_libvips/libvips-8.7.0-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=12.1.0 runtime=node arch=x64 libc= platform=darwin)
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../src/common.cc:27:
../src/common.h:78:20: error: no member named 'Handle' in namespace 'v8'
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
~~~~^
../src/common.h:78:37: error: expected '(' for function-style cast or type construction
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
~~~~~~~~~~^
../src/common.h:78:39: error: use of undeclared identifier 'obj'
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:78:56: error: expected '(' for function-style cast or type construction
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
~~~~~~~~~~~ ^
../src/common.h:79:29: error: no member named 'Handle' in namespace 'v8'
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
~~~~^
../src/common.h:79:46: error: expected '(' for function-style cast or type construction
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
~~~~~~~~~~^
../src/common.h:79:48: error: use of undeclared identifier 'obj'
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:79:65: error: expected '(' for function-style cast or type construction
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
~~~~~~~~~~~ ^
../src/common.h:80:38: error: no member named 'Handle' in namespace 'v8'
std::vector AttrAsRgba(v8::Handlev8::Object obj, std::string attr);
~~~~^
../src/common.h:80:55: error: expected '(' for function-style cast or type construction
std::vector AttrAsRgba(v8::Handlev8::Object obj, std::string attr);
~~~~~~~~~~^
../src/common.h:80:57: error: use of undeclared identifier 'obj'
std::vector AttrAsRgba(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:80:74: error: expected '(' for function-style cast or type construction
std::vector AttrAsRgba(v8::Handlev8::Object obj, std::string attr);
~~~~~~~~~~~ ^
../src/common.h:81:37: warning: variable templates are a C++14 extension [-Wc++14-extensions]
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:81:48: error: no member named 'Handle' in namespace 'v8'
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
~~~~^
../src/common.h:81:65: error: expected '(' for function-style cast or type construction
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
~~~~~~~~~~^
../src/common.h:81:67: error: use of undeclared identifier 'obj'
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:81:84: error: expected '(' for function-style cast or type construction
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
~~~~~~~~~~~ ^
../src/common.h:81:89: error: expected ';' at end of declaration
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
;
../src/common.h:81:90: error: expected unqualified-id
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:84:26: warning: variable templates are a C++14 extension [-Wc++14-extensions]
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:84:37: error: no member named 'Handle' in namespace 'v8'
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
make: *** [Release/obj.target/sharp/src/common.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:196:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
gyp ERR! System Darwin 18.6.0
gyp ERR! command "/usr/local/Cellar/node/12.1.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/md2gslides/node_modules/sharp
gyp ERR! node -v v12.1.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/sharuzzamanahmatraslan/.npm/_logs/2019-05-16T15_05_08_149Z-debug.log
Thank you
Hello !
I really ❤️ md2gslides ! Thank you very much.
I am even writing an article about it (in French) :)
I'd like to create a minimal docker image with it but I'm having problems installing it from the sources (I confess I am a noob in node).
*I am using the sources because I'd like to use the --copy
and {layout=...}
options
Could you please help me?
Here is the log :
# npm install -g https://github.com/gsuitedevs/md2googleslides
/usr/local/bin/md2gslides -> /usr/local/lib/node_modules/md2gslides/bin/md2gslides.js
+ [email protected]
added 169 packages from 477 contributors in 27.138s
# md2gslides
module.js:550
throw err;
^
Error: Cannot find module '../lib/auth'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/usr/local/lib/node_modules/md2gslides/bin/md2gslides.js:25:24)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
The example.md throws a 500 error. All examples should be working.
"code": 500,
"errors": [
{
"message": "Internal error encountered.",
"domain": "global",
"reason": "backendError",
"debugInfo": ...
When slides are formatted with a title and a link with text following it in a bullet point (denoted with either -
or *
), it seems to throw an error.
For example, the following slide would error out
---
# Slide title
- text bullet
- [This is hyperlink text](http://www.example.com/) this is text after the hyperlink
---
But the following slide would be fine:
---
# Slide title
- text bullet
- This is text before the hyperlink, [this is hyperlink text](http://www.example.com/) this is text after the hyperlink
---
And the error message is as follows:
{
"code": 500,
"errors": [
{
"message": "Internal error encountered.",
"domain": "global",
"reason": "backendError"
}
]
}
Hi, this is a great toolbox, I wonder if there is a way to support latex rendering in the gslides. That would be awesome!
Just tried to run md2gslides and got the following error:
Sign in with Google temporarily disabled for this app
This app has not been verified yet by Google in order to use Google Sign In.
Would have thought Google would allow its own devs access!
A {.footnote}
attribute to apply to elements would be very useful! I don't know if that's compatible with Slides' layouts.
Can you provide some examples of the use of some supported CSS styles for use with elements? As per the documentation https://github.com/gsuitedevs/md2googleslides
How do I change the font-size of row items in a list?
---
# Title Header
* Bullet 1
+ ABC
+ DEF
* Bullet 2
{style="font-size: 10pt"}
It appears to be impossible to specify a code block without specifying a language. If you do, you get:
Unable to generate slides: Error: Unknown language: ` ` is not registered
It would be great to not have to specify a language, but just have unformatted text. It does not appear that the language types are based on linguist, which is most common here. Is there a list of supported languages?
Hi there I wanted to use the --copy [presentation id]
command listed in the example.md file but it isn't available in the package on NPM. Will this be updated or how could I use it?
Feature request to add additional styling support, particularly colors, using {attr} syntax
When I try to convert a slide deck, the images used in my markdown cannot be found by md2googleslides
:
Unable to generate slides: Error: Invalid URI "images/PyMC3.png"
This is despite the images
directory being in place in the current directory.
Hello. This seems in install okay,this is the output:
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
> [email protected] prepublish /home/cliffy/md2googleslides
> npm run compile
> [email protected] compile /home/cliffy/md2googleslides
> babel --extensions '.ts,.js' --source-maps both -d lib/ src/
Successfully compiled 17 files with Babel.
npm WARN [email protected] requires a peer of acorn@^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
audited 742 packages in 4.7s
27 packages are looking for funding
run `npm fund` for details
found 2 vulnerabilities (1 low, 1 moderate)
run `npm audit fix` to fix them, or `npm audit` for details
But it won't seem to run. I am running Ubuntu 20.04 LTS with Node v14.2.0. I've tried a complete reinstall of node. This has worked great for me in Windows, I'm a bit shaky with Linux, sorry if I've missed something glaring.
This could be related to #68
I tried node version 13.7.0 as mentioned in the fixed issue above and I still get the same error.
Thanks
/usr/local/lib/node_modules/md2gslides/node_modules/sharp/lib/constructor.js:34
throw new Error(error);
^
Error:
Something went wrong installing the "sharp" module
Cannot find module '../build/Release/sharp.node'
Require stack:
- /usr/local/lib/node_modules/md2gslides/node_modules/sharp/lib/constructor.js
- /usr/local/lib/node_modules/md2gslides/node_modules/sharp/lib/index.js
- /usr/local/lib/node_modules/md2gslides/lib/images/svg.js
- /usr/local/lib/node_modules/md2gslides/lib/images/generate.js
- /usr/local/lib/node_modules/md2gslides/lib/slide_generator.js
- /usr/local/lib/node_modules/md2gslides/bin/md2gslides.js
- Run "npm rebuild --verbose sharp" and look for errors
- Consult the installation documentation at https://sharp.pixelplumbing.com/install
- Search for this error at https://github.com/lovell/sharp/issues
at Object.<anonymous> (/usr/local/lib/node_modules/md2gslides/node_modules/sharp/lib/constructor.js:34:9)
at Module._compile (internal/modules/cjs/loader.js:1176:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
at Module.load (internal/modules/cjs/loader.js:1040:32)
at Function.Module._load (internal/modules/cjs/loader.js:929:14)
at Module.require (internal/modules/cjs/loader.js:1080:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/usr/local/lib/node_modules/md2gslides/node_modules/sharp/lib/index.js:3:15)
at Module._compile (internal/modules/cjs/loader.js:1176:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)```
md2googleslides
is a very useful tool. Thanks for the great work. - One feature that is missing (or I couldn't find) is math support (similar to here: http://bit.ly/2RUnjKO). Are there any plans to add it in the future?
It would be great if this was a script we can run in Google Slides.
Ideally I can open a dropdown with a text area and paste my markdown there, press save and see the slide deck automatically changing itself. I can always visualise and edit the source markdown from the tab and make further changes. What do you think about this?
It would be helpful to be able to convert from Slides back to Markdown so the text could be the source of truth and checked into a repo.
It would be great to be able to just have a blank slide that does not have placeholder text fields in the google slides browser interface.
Thanks
Using node v9.8.0, it seems to fail when trying to convert the document:
Unable to generate slides: TypeError: Cannot read property 'references' of undefined
at Array.link (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_inline/link.js:101:26)
at ParserInline.tokenize (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:135:22)
at ParserInline.parse (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:163:8)
at Array.inline (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_core/inline.js:10:23)
at Core.process (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_core.js:51:13)
at MarkdownIt.parse (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/index.js:523:13)
at parseMarkdown (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:77:19)
at extractSlides (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:56:18)
at SlideGenerator.generateFromMarkdown (/usr/lib/node_modules/md2gslides/lib/slide_generator.js:86:27)
at generateSlides (/usr/lib/node_modules/md2gslides/bin/md2gslides.js:177:27)
at tryCallOne (/usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:37:12)
at /usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:123:15
at flush (/usr/lib/node_modules/md2gslides/node_modules/asap/raw.js:50:29)
at process._tickCallback (internal/process/next_tick.js:112:11)
TypeError: Cannot read property 'references' of undefined
at Array.link (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_inline/link.js:101:26)
at ParserInline.tokenize (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:135:22)
at ParserInline.parse (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_inline.js:163:8)
at Array.inline (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/rules_core/inline.js:10:23)
at Core.process (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/parser_core.js:51:13)
at MarkdownIt.parse (/usr/lib/node_modules/md2gslides/node_modules/markdown-it/lib/index.js:523:13)
at parseMarkdown (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:77:19)
at extractSlides (/usr/lib/node_modules/md2gslides/lib/extract_slides.js:56:18)
at SlideGenerator.generateFromMarkdown (/usr/lib/node_modules/md2gslides/lib/slide_generator.js:86:27)
at generateSlides (/usr/lib/node_modules/md2gslides/bin/md2gslides.js:177:27)
at tryCallOne (/usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:37:12)
at /usr/lib/node_modules/md2gslides/node_modules/promise/lib/core.js:123:15
at flush (/usr/lib/node_modules/md2gslides/node_modules/asap/raw.js:50:29)
at process._tickCallback (internal/process/next_tick.js:112:11)
{}
Let's say I have a local image file called my-code-doesnt-work.jpg
alongside my markdown slide and I simply add it to the slide like this:
---
# Title
![](my-code-doesnt-work.jpg)
---
When I executed the converter, error message popped out as follows:
Unable to generate slides: { [Error: ENOENT: no such file or directory, open 'c:\c:\git\others\not-so-personal-notes\Stretch\slides\my-code-doesnt-work.jpg']
After some hacking I was able to pinpoint the cause to this line of code:
https://github.com/gsuitedevs/md2googleslides/blob/master/src/images/probe.ts#L62
I used console.log
to print the parsedUrl.pathname
and the result was
/c:/git/others/not-so-personal-notes/Stretch/slides/my-code-doesnt-work.jpg
Then it was passed to fs.createReadStream(path);
and that's where the error came from.
I can hack it to resolve my issue by using fs.createReadStream(path.substring(1));
but obviously it's not an ideal solution and I have no idea whether it will affect macos / linux or not.
Any ideas?
md2gslides slides.md
works without the SVG slide from my minimal example.
If I include the SVG from the example, I get the message Unable to generate slides: Local images require --use-fileio option
You can see what I tried here. I have a self-describing comment that shows right up to where it works.
I also tried cloning the md2googleslides repo, cd examples
and running md2gslides example.md
, but I get this message instead:
Unable to generate slides: { ProbeError: unrecognized file format
at ParserStream.parserEnd (/Users/howard/.nvm/versions/node/v10.13.0/lib/node_modules/md2gslides/node_modules/probe-image-size/stream.js:29:24)
at Object.onceWrapper (events.js:273:13)
at ParserStream.emit (events.js:182:13)
at endReadableNT (_stream_readable.js:1094:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
name: 'ProbeError',
message: 'unrecognized file format',
code: 'ECONTENT' }
Sorry if I'm missing something obvious. This tool is interesting.
Hello 👋
Thanks for this awesome tool! We can't wait to use it for our future consistent presentations 💪
There is one important missing feature in Googe slides and that's why for the latest conference presentations we went for MDX Deck
+ CodeSurfer
The missing feature is dynamic code highlights, zoom-in, zoom-out transition so you can explain line by line what you are changing. We did this presentation on GoDays and FOSDEM and the feedback was extremely positive. The audience could follow the code much easier and we could explain more than just using static slides with limited size.
You can see the code and effect here: https://github.com/kakkoyun/are-you-testing-your-observability
The tradeoff was enormous though. The MDX Deck has some bugs and it's extremely tedious to set up, use, and build. Especially if you are not a frontend developer - you are essentially building a website. It's brittle, impossible to make it work for all projector resolutions etc, generating PDF's is impossible and you cannot link to one slide. We wrote more CSS than content 🤦
So we are looking for another solution that will give us dynamic code, zoom in, zoom outs, and dynamic highlight transformations.
Do you think it will be possible to add some pseudo markdown components that will allow doing so? Do you think it is possible? Would you accept such a contribution? We are happy to help, just we definitely need some pointers 🤗
The idea would be to base on markdown code blocks with code surfer FOCUS:
`` `go 2:3,4[2:3]
Line1
Line2
Line3
`` `
This will highlight line 2 3 and second, third and fourth character of line 4.
Then we would need some way of describing which slides would be part of the transformation e.g.:
`` `go 2 <slide204>
Line1
Line2
newline
`` `
This will focus our code block on line 2, and animate removal of line3 and animate addition of newline. What to animate will be based on diff from code block on slide 204.
I think with just this simple logic we could achieve a lot and generate Google slides with code and transformations which will add, remove, change fonts etc..
Sounds doable? 🤔 Thanks for help in advance!
cc @kakkoyun
When inserting code blocks in the Markdown document, the syntax highlighting works but the code block itself is not highlighted.
Below is a sample Markdown document to illustrate my issue:
$ sudo apt-get install cookiecutter
$ cookiecutter someurl foo
$ cd foo && ls
hackage/
tools/
data MyData q =
MyData
{ name :: String
, content :: q
}
class LatexShowable a
where toLatex :: a -> String
f :: (LatexShowable a) => a -> IO ()
f = print . toLatex
Here is the Google slide generated with
md2gslides slides.md --style atom-one-dark
As you can see, the code blocks do not stand out from the rest of the slide the way the code blocks in this very issue do (by being included in a rectangle with a different background color). Is this something that can be fixed?
I've tried with other --style
options (github
, tomorrow-night
, etc.) but the highlighting of the code block itself is the same.
Other than that, thanks for the great tool! I really like being able to put syntax highlighted code in my slides.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.