>> I've incorporated the following suggestions: >> >> - Order of precedence: >> + #+attr_org overrides #+attr_html and #+attr_latex >> + `:center t' overrides `:align ...' > > Why only html and latex? I think that it will be more consistent to > follow what we do in `org-display-inline-image--width' - any #+attr_* > attribute. And apart from html/latex, we have > beamer/hugo/koma-letter/what not is implemented or will be implemented > deriving from html/latex backend or with support of :center attribute. Changed implementation to support any #+attr_.* keyword. >> - Add a checker for `:align nil' to org-lint. `:align nil' is not >> supported. > > I meant :align being not supported in #+attr_org. Not just nil. org-lint now complains if anything other than `:align left|center|right' or `:center t' are specified in #+attr_org. >> + #+vindex: org-image-align >> + Org mode can left-align, center or right-align the display of inline >> + images. This setting is controlled (globally) by ~org-image-align~. >> + Only standalone links, /i.e/ links with no surrounding text in their > > Maybe "standalone images"? > Also, please avoid i.e - this is a general Emacs documentation guideline > to avoid specialized language like i.e., e.g., and iff. Changed text, removed specialized language. >> + paragraphs (except whitespace) are affected. Its value can be the >> + following: >> + - (default) nil, insert the image where the link appears in the >> + buffer. > > Why not simply setting the default to 'left and not having nil at all? The original idea was that `left' and `nil' do the same thing, so it should be fine to leave it at `nil'. I changed the user option to default to `left', and `nil' has been removed as an available option. (It is still not an error to set it to `nil'.) >> + - The symbol ~left~, which is the same as nil. >> + - The symbol ~center~, which will preview standalone links centered >> + in the Emacs window. >> + - The symbol ~right~, which will preview standalone links >> + right-aligned in the Emacs window. > > "standalone" links is redundant here - you already mentioned that Fixed. >> + Inline image alignment can be specified for each link using the >> + =#+ATTR.*= keyword if it matches an alignment specification like: >> + #+begin_example >> + ,#+ATTR_HTML: :align center >> + #+end_example >> + Supported values for =:align= are =left=, =center= and =right=. > > I think that we do not need to specify the supported values here - they > are the same as for `org-image-align' just above. Removed. >> + Inline image display can also be centered using =:center=, as in > > I'd explain that inline image adjustment is also taken from :center > attribute supported by some export backends (like HTML, LaTeX, and > Beamer), when #+attr_org is not set. Tweaked the description of :center. >> + #+begin_example >> + ,#+ATTR_HTML: :center t >> + #+end_example >> + Org will use the alignment specification from any =#+ATTR.*= >> + keyword, such as =#+ATTR_HTML= or =#+ATTR_LATEX=, but =#+ATTR_ORG= >> + (if present) will override the others. For instance, this link >> + #+begin_example >> + ,#+ATTR_HTML: :align right >> + ,#+ATTR_ORG: :align center >> + [[/path/to/image/file.png]] >> + #+end_example >> + will be displayed centered. > > ... "but exported right-aligned to HTML" Added. >> +(defun org-lint-invalid-image-alignment (ast) >> + (org-element-map ast 'paragraph >> + (lambda (p) >> + (let ((bad-align-re ":align[[:space:]]+nil") >> + (keyword-string (mapconcat >> + (lambda (attr) >> + (or (car-safe (org-element-property attr p)) "")) >> + '(:attr_org :attr_latex :attr_html) " "))) > > :align nil is perfectly valid for HTML. > I thought to warn only about using anything but :align left/right/center > in #+attr_org. And about :center in #+attr_org. Yes, only the value of #+attr_org is checked now. Patch v2 attached. Karthik