@@ -1099,7 +1099,7 @@ linkOrImage = explicitOrImageLink
10991099explicitOrImageLink :: OrgParser (F Inlines)
11001100explicitOrImageLink = try $ do
11011101 char '['
1102− srcF <- applyCustomLinkFormat =<< linkTarget
1102+ srcF <- applyCustomLinkFormat =<< possiblyEmptyLinkTarget
11031103 title <- enclosedRaw (char '[') (char ']')
11041104 title' <- parseFromString (mconcat <$> many inline) title
11051105 char ']'
@@ -1132,6 +1132,9 @@ selfTarget = try $ char '[' *> linkTarget <* char ']'
11321132linkTarget :: OrgParser String
11331133linkTarget = enclosedByPair '[' ']' (noneOf "\n\r[]")
11341134
1135+possiblyEmptyLinkTarget :: OrgParser String
1136+possiblyEmptyLinkTarget = try linkTarget <|> ("" <$ string "[]")
1137+
11351138applyCustomLinkFormat :: String -> OrgParser (F String)
11361139applyCustomLinkFormat link = do
11371140 let (linkType, rest) = break (== ':') link
@@ -1142,6 +1145,7 @@ applyCustomLinkFormat link = do
11421145linkToInlinesF :: String -> Inlines -> F Inlines
11431146linkToInlinesF s =
11441147 case s of
1148+ "" -> pure . B.link "" ""
11451149 ('#':_) -> pure . B.link s ""
11461150 _ | isImageFilename s -> const . pure $ B.image s "" ""
11471151 _ | isUri s -> pure . B.link s ""