Git Product home page Git Product logo

pandoc-sidenote's Introduction

pandoc-sidenote

Convert Pandoc Markdown-style footnotes into sidenotes

This is a simple Pandoc filter to convert footnotes into a format that can be consumed by Tufte CSS and Pandoc Markdown CSS Theme.

As a command line utility, the project may be used by calling pandoc --filter pandoc-sidenote. To see it in action, see Tufte Pandoc CSS, a project which uses it. In particular, take a look at the Makefile included in that project.

Further, the core functionality is also exposed as a library, which can be called by Haskell applications such as Hakyll. It comes in two different flavours:

  • SideNote.hs: An implementation making use of pandoc's native Span constructors. This is what's used in the pandoc-sidenote executable.

  • SideNoteHTML.hs: An implementation that converts the footnote directly into HTML, enabling the embedding of arbitrary blocks inside of side and marginnotes.

On the whole, each file weighs in at just about 100 lines of code—check them out if you're curious how they work.

Dependencies

pandoc-sidenote is build against a specific version of Pandoc. This table maps pandoc versions to pandoc-sidenote versions:

pandoc pandoc-sidenote
3.0 0.23.0
2.11 0.22.0, 0.22.1, 0.22.2
2.9 0.20.0
2.1, 1.19 0.19.0
1.18 0.9.0

If a newer version of pandoc has been released, the Stack build manifest will need to be adjusted for that version, and the project then rebuilt.

Installation

Cabal

pandoc-sidenote is on Hackage and can thus be installed using cabal:

cabal install pandoc-sidenote

Homebrew

If you're on OS X, you can install the pandoc-sidenote binary from my Homebrew tap:

brew install jez/formulae/pandoc-sidenote

From Source

Otherwise, you'll have to install from source. This project is written in Haskell and built using Stack. If you're new to Haskell, now's a perfect time to wet your toes! Go install Stack first, then run these commands:

git clone https://github.com/jez/pandoc-sidenote

cd pandoc-sidenote

# this is going to be reaaally long the first time
stack build

# copy the compiled binary onto your PATH
stack install

Notes to myself

Side note: I run this command to generate the zip files attached to releases that are downloaded by the Homebrew formula:

make

It would be nice to get GitHub Actions set up to build and publish releases for each tagged commit automatically.

I run this command to publish packages to Hackage:

# First, edit `package.yaml` to remove `-Werror`, then:

stack upload .

License

MIT License

pandoc-sidenote's People

Contributors

dkasak avatar gwern avatar jamtur01 avatar jez avatar p3palazzo avatar peterstuart avatar seanny123 avatar slotthe avatar tarleb 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

pandoc-sidenote's Issues

Compatibility with Pandoc 2.0

Are any of the releases of pandoc-sidenote compatible with pandoc 2.0? If yes, could this be added to the documentation?

Support for arm64, Pandoc >=2.12

What would it take to create an arm64 executable of this filter? IE something that will run on apple silicon? I am a haskell novice and can't seem to get a handle on this question.

Backstory: I was previously using this filter (which is awesome by the way!) in a project which I was developing on an intel-based mac, and I recently made the jump to apple silicon. Unfortunately this caused Pandoc and this filter to break. One solution is to use the Rosetta emulator, but I'm using docker and when I tried this approach I discovered that running Pandoc in a container using rosetta emulation is prohibitively slow.

I was able to solve the speed issue by ditching emulation and bumping my Pandoc version to 2.12, the earliest release that supports arm64, but I still have the problem that I can't use this filter. Any ideas? Since it's possible for Pandoc to support arm64, it should in theory also be possible here. But for example when I tried to build a Pandoc 2.1 executable from source using stack on my apple silicon machine, it still created an amd64 binary, so I'm assuming the same is true here. Please let me know your thoughts.

Also, on a related note, what it would take to bump support for this filter to Pandoc 2.12 or later? You mention in the README about updating the stack build manifest...I'm assuming that refers to either stack.yaml or package.yaml, but what changes need to be made?

Building against Pandoc 1.19

Installed the latest Pandoc from binary package:

pandoc 1.19.2.1
Compiled with pandoc-types 1.17.0.4, texmath 0.9, skylighting 0.1.1.4

Downloaded latest version of stack and GHC. Downloaded panoc-sidenote and updated the
stack.yaml to reflect the pandoc version:

$ fgrep -i pandoc stack.yaml

  • pandoc-1.19
  • pandoc-types-1.17

Then:

$ stack build
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for pandoc-1.19:
texmath-0.8.6.7 must match >=0.9 && <0.10 (latest applicable is 0.9.3)
needed due to pandoc-sidenote-0.9.0.0 -> pandoc-1.19

Plan construction failed.

Using Mac OS X El Capitan (v10.11.6)

New pandoc version

Since I updated pandoc to version 2.10 pandoc-sidenote gives me the following error:

pandoc-sidenote: Error in $: Incompatible API versions: encoded with [1,21] but attempted to decode with [1,20].
CallStack (from HasCallStack):
  error, called at ./Text/Pandoc/JSON.hs:107:64 in pandoc-types-1.20-Azr3zp3CsDMiPqJ5OI8N8:Text.Pandoc.JSON
Error running filter pandoc-sidenote:
Filter returned error status 1

pandoc version:

pandoc --version
pandoc 2.10.1
Compiled with pandoc-types 1.21, texmath 0.12.0.2, skylighting 0.8.5
Default user data directory: /home/marco/.local/share/pandoc or /home/marco/.pandoc
Copyright (C) 2006-2020 John MacFarlane
Web:  https://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.

I'm aware that sidenote is built against a specific version and 2.10 is none of them, but nevertheless I'd be very happy if you could make sidenote work with the newest pandoc version. Downgrading and locking all those haskell packages is no fun at all and probably would cause further distress when trying to run other programs depending on those packages.

Thank you very much for developing this filter – I really enjoy writing excerpts and academical notes using it ❤️

Compilation error with Cabal in OpenBSD

Compilation error with Cabal in the following OpenBSD system:

$ uname -a
OpenBSD hp.antanst.com 6.6 GENERIC.MP#4 amd64
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.6.4
$ cabal --version
cabal-install version 2.4.0.0
compiled using version 2.4.0.1 of the Cabal library 
$ pandoc --version
pandoc 2.9.1.1
Compiled with pandoc-types 1.20, texmath 0.12, skylighting 0.8.3
Default user data directory: /home/blog/.local/share/pandoc or /home/blog/.pandoc

When trying to install via Cabal, the following error occurs:

$ cabal install pandoc-sidenote        
Warning: The install command is a part of the legacy v1 style of cabal usage.                                                                 
                                                                                                                                              
Please switch to using either the new project style and the new-install 
command or the legacy v1-install alias as new-style projects will become the
default in the next version of cabal-install. Please file a bug if you cannot
replicate a working v1- use case with the new-style commands.        
                                                                       
For more information, see: https://wiki.haskell.org/Cabal/NewBuild
                                                                                                                                              
Resolving dependencies...                                                                                                                     
Starting     pandoc-sidenote-0.19.0.0                                                                                                         
Building     pandoc-sidenote-0.19.0.0                                                                                                         
Failed to install pandoc-sidenote-0.19.0.0                                                                                                    
Build log ( /home/blog/.cabal/logs/ghc-8.6.4/pandoc-sidenote-0.19.0.0-Kj7R7hpnKZuLTAdosGiyw3.log ):                                           
cabal: Entering directory '/tmp/cabal-tmp-36604/pandoc-sidenote-0.19.0.0'                                                                     
Configuring pandoc-sidenote-0.19.0.0...                     
Preprocessing library for pandoc-sidenote-0.19.0.0..          
Building library for pandoc-sidenote-0.19.0.0..       
[1 of 1] Compiling Text.Pandoc.SideNote ( src/Text/Pandoc/SideNote.hs, dist/build/Text/Pandoc/SideNote.o )                                    
                                                                       
src/Text/Pandoc/SideNote.hs:14:30: error:         
    * Couldn't match type `text-1.2.3.1:Data.Text.Internal.Text'                                                                              
                     with `[Char]'                                     
      Expected type: Maybe String                                                                                                             
        Actual type: Maybe text-1.2.3.1:Data.Text.Internal.Text
    * In the expression: Just text                                     
      In an equation for `getFirstStr':                      
          getFirstStr (Str text : _) = Just text             
   |                                                                   
14 | getFirstStr (Str text : _) = Just text           
   |                              ^^^^^^^^^                                                                                                   
                                                                       
src/Text/Pandoc/SideNote.hs:36:31: error:                                                                                                     
    * Couldn't match expected type `text-1.2.3.1:Data.Text.Internal.Text'                                                                     
                  with actual type `[Char]'                                                                                                   
    * In the first argument of `Str', namely `""'                                                                                             
      In the expression: Str ""       
      In an equation for `deNote': deNote (Note _) = Str ""                                                                                   
   |                                                                                                                                          
36 |         deNote (Note _) = Str ""      
   |                               ^^
                                                                       
src/Text/Pandoc/SideNote.hs:54:33: error:                                                                                                     
    * Couldn't match expected type `text-1.2.3.1:Data.Text.Internal.Text'
                  with actual type `[Char]'                    
    * In the first argument of `Format', namely `"html"'    
      In the first argument of `RawInline', namely `(Format "html")'
      In the expression: RawInline (Format "html") labelHTML
   |
54 |   let label = RawInline (Format "html") labelHTML
   |                                 ^^^^^^

src/Text/Pandoc/SideNote.hs:54:41: error:
    * Couldn't match expected type `text-1.2.3.1:Data.Text.Internal.Text'
                  with actual type `[Char]'
    * In the second argument of `RawInline', namely `labelHTML'
      In the expression: RawInline (Format "html") labelHTML
      In an equation for `label':
          label = RawInline (Format "html") labelHTML
   |
54 |   let label = RawInline (Format "html") labelHTML
   |                                         ^^^^^^^^^

src/Text/Pandoc/SideNote.hs:57:33: error:
    * Couldn't match expected type `text-1.2.3.1:Data.Text.Internal.Text'
                  with actual type `[Char]'
    * In the first argument of `Format', namely `"html"'               
      In the first argument of `RawInline', namely `(Format "html")'                                                                          
      In the expression: RawInline (Format "html") inputHTML           
   |
57 |   let input = RawInline (Format "html") inputHTML
   |                                 ^^^^^^

src/Text/Pandoc/SideNote.hs:57:41: error:
    * Couldn't match expected type `text-1.2.3.1:Data.Text.Internal.Text'
                  with actual type `[Char]'
    * In the second argument of `RawInline', namely `inputHTML'
      In the expression: RawInline (Format "html") inputHTML
      In an equation for `input':
          input = RawInline (Format "html") inputHTML
   |
57 |   let input = RawInline (Format "html") inputHTML
   |                                         ^^^^^^^^^

src/Text/Pandoc/SideNote.hs:61:28: error:
    * Couldn't match expected type `text-1.2.3.1:Data.Text.Internal.Text'
                  with actual type `[Char]'
    * In the expression: noteTypeCls
      In the expression: [noteTypeCls]
      In the first argument of `Span', namely
        `(ident, [noteTypeCls], attrs)'
   |
61 |   let note = Span (ident, [noteTypeCls], attrs) content'
   |                            ^^^^^^^^^^^
cabal: Leaving directory '/tmp/cabal-tmp-36604/pandoc-sidenote-0.19.0.0'
cabal: Error: some packages failed to install:
pandoc-sidenote-0.19.0.0-Kj7R7hpnKZuLTAdosGiyw3 failed during the building
phase. The exception was:
ExitFailure 1                         

API version

pandoc-sidenote: Error in $: Incompatible API versions: encoded with [1,17,5,4] but attempted to decode with [1,20].

/usr/local/bin/pandoc -v

pandoc 2.7.3
Compiled with pandoc-types 1.17.5.4, texmath 0.11.2.2, skylighting 0.8.1
Default user data directory: /Users/chuwen/.local/share/pandoc or /Users/chuwen/.pandoc
Copyright (C) 2006-2019 John MacFarlane
Web:  http://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.

Make a class for the whole sidenote <span>

I love this filter, however, I have a request. I want the sidenote to highlight when you hover over the sidenote number. I usually do this by enclosing the whole side note in a which a class name.

I don't know enough haskell to modify the code, but is there a way to wrap the sidenote in a css'able environment?

Please push 0.22 to homebrew

Hi jez,

Thanks for fixing #15. Can you still push the 0.22 version to your homebrew tap, please?

Still getting this:

pandoc-sidenote (master*) $ brew upgrade pandoc-sidenote
Warning: jez/formulae/pandoc-sidenote 0.20.0 already installed
pandoc-sidenote (master*) $

Thanks!

PS: It might make sense to take the homebrew instructions out of the README then... :)

Margin notes without a number

Hi,
Firstly thanks for the nifty filter and apologies as this is more of a user question than a bug. However, I see in the source code that MarginNotes are supported. I would like to use them without a corresponding number just as in the Tufte CSS documentation.

However, all my attempts seem to render them so far with numbers. Here's an example of my markdown file and the rendered HTML as an image:

This was one of my more touristy holidays but sometimes the tourist track isn't so bad. Here's a footnote with a number.[^1]

This is a next paragraph. But this is a margin note without a number?[^-] 

Next try^[content].

[^-]: this is a margin note.

[^1]: This is a footnote about how much I hate tourists.

The HTML equivalent from the Tufte CSS github page is after this paragraph.

<label for="mn-demo" class="margin-toggle">&#8853;</label>
<input type="checkbox" id="mn-demo" class="margin-toggle"/>
<span class="marginnote">
  This is a margin note. Notice there isn’t a number preceding the note.
</span>

Now some other unrelated paragpraph goes after.

Is rendered as:

footnotes

What am I doing wrong here or is it perhaps a limitation of the filter?

Thanks

Error running tufte-pandoc-css

Hi! I'm trying to run tufte-pandoc-css but I have this error

robsalasco@leucippus:~/Desktop/tufte-pandoc-css$ make
pandoc \
		--katex \
		--smart \
		--section-divs \
		--from markdown+tex_math_single_backslash \
		--filter pandoc-sidenote \
		--to html5 \
		--template=tufte \
		--css tufte.css --css pandoc.css --css pandoc-solarized.css --css tufte-extra.css \
		--output docs/index.html \
		docs/index.md
pandoc-sidenote: Error in $: mempty
CallStack (from HasCallStack):
  error, called at ./Text/Pandoc/JSON.hs:108:64 in pandoc-types-1.17-KRy4e6Qs9AIJIlwwj55hmZ:Text.Pandoc.JSON
pandoc: Error running filter pandoc-sidenote
Filter returned error status 1
make: *** [docs/index.html] Error 83

Can you help me please?

Support for scoop package manager done ✅

Hi everyone,

I managed to add your package to the scoop package manager, which auto installs all the dependencies such as

  • haskell
  • stack
  • 7zip

Just with this one-liner you can install the exe 👍

scoop install https://gist.githubusercontent.com/arnos-stuff/1e6fb8c1049c44ff088946c124c764f4/raw/e0fd7e9fda71f9e648d161bc82bbce9dffe9a1cc/pandoc-sidenotes.json

With a little extra work we could add it to a scoop bucket and avoid the ugly raw gist url 😅

Install on heroku

Any idea or inputs on how can I install this on Heroku?

So far I have tried

  1. Installing cabal and then trying to install sidenote using cabal(Not working, getting error for ghc)
  2. No luck so far for installing stack

Incompatible API versions

Hello, and I wish you the best for the New Year !

I have successfully installed pandoc-sidenotes with Stack on my Windows10 laptop.
But when I use this filter in a pandoc command such as :

pandoc file.md --filter pandoc-sidenotes -o file.pdf

I get the following error :

pandoc-sidenote: Error in $: Incompatible API versions: encoded with [1,22,2,1] but attempted to decode with [1,23].
CallStack (from HasCallStack):
  error, called at src\Text\Pandoc\JSON.hs:108:64 in pandoc-types-1.23-6lVli8kJOcQK3Pb5YpKd1J:Text.Pandoc.JSON
Error running filter pandoc-sidenote:
Filter returned error status 1

Could you please tell me what is going wrong. Maybe I should use it differently, but I don't know how.

Regards,

DB

pandoc-sidenote deletes much content inside footnotes

While finetuning the CSS for Tufte CSS sidenotes (doesn't play well with blockquote formatting and appears to not cover some basic aspects of lists), I noticed that much of the content in my footnotes had gone missing and took a second look at the source:

    -- lists, blockquotes, headers, hrs, and tables are all omitted
    -- Think they shouldn't be? I'm open to sensible PR's.
    deBlock _ = []

This is, uh, not ideal. pandoc-sidenote should definitely not be deleting everything except simple paragraph text, which breaks a large fraction of all my footnotes, many of which are about including some relevant excerpt or source code fragment or tangential point like that.

I'm not sure what the issue here would be. Is there some reason that things like blockquotes cannot simply be put inside the sidenote <span>?

Compiled binary not compatible with pandoc 2.8.1

Pandoc 2.8.1 is built with pandoc-types 1.20, which doesn't work with the binary version installed through homebrew:

pandoc-sidenote: Error in $: Incompatible API versions: encoded with [1,20] but attempted to decode with [1,17].
CallStack (from HasCallStack):
  error, called at ./Text/Pandoc/JSON.hs:108:64 in pandoc-types-1.17-KRy4e6Qs9AIJIlwwj55hmZ:Text.Pandoc.JSON
Error running filter pandoc-sidenote:
Filter returned error status 1

Pandoc information:

pandoc 2.8.1
Compiled with pandoc-types 1.20, texmath 0.12, skylighting 0.8.3

running `cabal install pandoc-sidenote` fails on ubuntu server 20.04

note: downloading the repo and running stack build succeeds, so at a guess the dependency specifications for the cabal package are out of date (but my Haskell ecosystem knowledge is nonexistent)

I'm trying to get pandoc-sidenote running on a clean Ubuntu Server 20.04

intermediate dependency installs I did:

  • apt install ruby
  • apt install cabal-install

Following the instructions on the readme, I ran cabal install pandoc-sidenote and got the following build log (build errors at the bottom):

$ cabal install pandoc-sidenote
Warning: The install command is a part of the legacy v1 style of cabal usage.

Please switch to using either the new project style and the new-install
command or the legacy v1-install alias as new-style projects will become the
default in the next version of cabal-install. Please file a bug if you cannot
replicate a working v1- use case with the new-style commands.

For more information, see: https://wiki.haskell.org/Cabal/NewBuild

Resolving dependencies...
Downloading  base-compat-0.11.2
Downloading  base-orphans-0.8.3
Downloaded   base-orphans-0.8.3
Starting     base-orphans-0.8.3
Downloaded   base-compat-0.11.2
Starting     base-compat-0.11.2
Building     base-orphans-0.8.3
Building     base-compat-0.11.2
Completed    base-compat-0.11.2
Downloading  cabal-doctest-1.0.8
Downloaded   cabal-doctest-1.0.8
Starting     cabal-doctest-1.0.8
Building     cabal-doctest-1.0.8
Completed    base-orphans-0.8.3
Downloading  dlist-1.0
Downloaded   dlist-1.0
Starting     dlist-1.0
Building     dlist-1.0
Completed    cabal-doctest-1.0.8
Downloading  hashable-1.3.0.0
Downloaded   hashable-1.3.0.0
Starting     hashable-1.3.0.0
Building     hashable-1.3.0.0
Completed    dlist-1.0
Downloading  integer-logarithms-1.0.3
Downloaded   integer-logarithms-1.0.3
Starting     integer-logarithms-1.0.3
Building     integer-logarithms-1.0.3
Completed    integer-logarithms-1.0.3
Downloading  monad-gen-0.3.0.1
Completed    hashable-1.3.0.0
Downloading  pandoc-1.9.4.3
Downloaded   monad-gen-0.3.0.1
Starting     monad-gen-0.3.0.1
Downloaded   pandoc-1.9.4.3
Starting     pandoc-1.9.4.3
Building     monad-gen-0.3.0.1
Failed to install pandoc-1.9.4.3
Build log ( /home/jgf/.cabal/logs/ghc-8.6.5/pandoc-1.9.4.3-GKcE6LvbU1k55vThF6GVPD.log ):
cabal: Entering directory '/tmp/cabal-tmp-8368/pandoc-1.9.4.3'
cabal: Leaving directory '/tmp/cabal-tmp-8368/pandoc-1.9.4.3'
Downloading  primitive-0.7.1.0
Downloaded   primitive-0.7.1.0
Starting     primitive-0.7.1.0
Building     primitive-0.7.1.0
Completed    monad-gen-0.3.0.1
Completed    primitive-0.7.1.0
cabal: Error: some packages failed to install:
pandoc-1.9.4.3-GKcE6LvbU1k55vThF6GVPD failed during the configure step. The
exception was:
dieVerbatim: user error (cabal: '/usr/bin/ghc' exited with an error:

/tmp/cabal-tmp-8368/pandoc-1.9.4.3/dist/setup/setup.hs:10:33: error:
Module
‘Distribution.Simple.GHC’
does not export
‘ghcPackageDbOptions’
|
10 | import Distribution.Simple.GHC (ghcPackageDbOptions)
| ^^^^^^^^^^^^^^^^^^^

/tmp/cabal-tmp-8368/pandoc-1.9.4.3/dist/setup/setup.hs:19:1: error:
Could not find module ‘System.Time’
Perhaps you meant
System.CPUTime (from base-4.12.0.0)
System.Cmd (from process-1.6.5.0)
System.Mem (from base-4.12.0.0)
Use -v to see a list of the files searched for.
|
19 | import System.Time
| ^^^^^^^^^^^^^^^^^^

/tmp/cabal-tmp-8368/pandoc-1.9.4.3/dist/setup/setup.hs:24:1: error:
Could not find module ‘Data.Default’
Use -v to see a list of the files searched for.
|
24 | import Data.Default
| ^^^^^^^^^^^^^^^^^^^
)
pandoc-sidenote-0.19.0.0-J3Z8QpAdObg8D597w1LrMQ depends on
pandoc-sidenote-0.19.0.0 which failed to install.

I am wholly unfamiliar with Haskell development, and appreciate any guidance available.

Makefile broken on non-macOS

Running make results in

find .stack-work/install/x86_64-osx -name pandoc-sidenote -type f \
     -exec zip -j pandoc-sidenote-0.23.0.zip '{}' ';'
find: ‘.stack-work/install/x86_64-osx’: No such file or directory
make: *** [Makefile:10: pandoc-sidenote-0.23.0.zip] Error 1

This was introduced in 6b01731 which says it aims to fix the Makefile on macOS. But it seems to break it on all other platforms?

Error with pandoc-ruby 2.1.7:

I get an error with pandoc-ruby 2.1.7 that is very similar to issue #15:

pandoc-sidenote: Error in $: Incompatible API versions: encoded with [1,23] but attempted to decode with [1,22]

Any immediate tips or pointers? Any additional information you need to analyse this?

repeats sidenote number 1 for all foot/sidenotes

I'm using pandoc-sidenote with my own Tufte CSS flavor (so I'm not using tufte-pandoc-css, but that's a cool project, too!). Everything seems to work fine except that every sidenote is labeled 1 despite the properties like <label for=sn-7 ...> seemingly incrementing. I think it has to do with counters and the CSS, but I haven't found it yet.

I'm using the Homebrew installation, version 0.22.1. I noticed that pandoc-sidenote --version and -v and -h all seem to hang. I reinstalled and get the same behavior. I'm not sure if it's related, but I thought it was worth noting.

Any advice? Thanks!

Not working on Alpine

I am trying to build a docker container with pandoc and pandoc-sidenote, using an Alpine:3.12 image as a base. When I download and copy the pre-built binary to /usr/local/bin/ inside the container and try to run it, I get:

cannot execute binary file: Exec format error

I checked the binary and it's chmod 755, owned by root like all the other binaries in the image (including the pandoc suite). Building from source also fails; Alpine 3.12 only provides ghc-8.8.3, and the stack builder complains it only supports 7.10.3, 8.0.1, 8.0.2, 8.2.1, or 8.2.2. Any solution for this?

Sidenote citations

Not an issue but a question: does this work with citations and BiBTeX? That is, when I cite a reference in text the first time, could it generate a sidenote with the citation?

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.