Tillkännagivande

Tillkännagivande Module
Minimera
Inga tillkännagivanden ännu.

Escape Meta Alt Control Shift

Sidnamn Module
Flytta Ta bort Minimera

Senaste inlägg

Senaste inlägg Module
Minimera

Diskussioner Statistik Senaste inlägg
Skapad av Dante, Idag, 13.35
8 responses
124 visningar
0 gillar
Dante
av Dante
 
Skapad av runequester, 30 April 2018, 21.23
24 responses
1.013 visningar
2 gillar
LordTengel  
Skapad av Nässe, 11 April 2018, 08.17
39 responses
901 visningar
2 gillar
Nässe
av Nässe
 
Skapad av Lerius Doman, Igår, 22.57
10 responses
146 visningar
1 gillar
Swedish Chef  
Skapad av luddwig, 03 May 2018, 10.06
61 responses
4.153 visningar
1 gillar
Måns
av Måns
 
Skapad av Genesis, 14 May 2018, 18.05
8 responses
305 visningar
6 gillar
Hellzon
av Hellzon
 
Skapad av Magnus Seter, Igår, 13.58
12 responses
304 visningar
14 gillar
Rymdhamster  
Skapad av Lerius Doman, Igår, 22.28
0 responses
48 visningar
2 gillar
Lerius Doman  
Skapad av Vicotnik, 10 January 2018, 23.41
8 responses
338 visningar
0 gillar
Vicotnik  
Skapad av Karl Kämpe, 26 August 2017, 09.46
8 responses
321 visningar
1 gillar
Karl Kämpe  
X
Konversationsdetalj Module
Minimera
  • Filtrera
  • Tidsrymd
  • Visa
Rensa All
nya inlägg

  • Escape Meta Alt Control Shift

    Alltså, bäst jag inleder med att säga: dom som kör windows, mac, android eller iphone göre sig icke besvär. Emacs, pandoc, sqlite, zenity, lua, zsh m.fl. kommer avhandlas nedan.

    Till att börja med har jag en pandoc writer för wrnu så jag kan skriva inläggen i markdown. Jag lägger in features efter hand jag behöver dom (enligt YAGNI-principen) ex vis kommer jag väl lägga in tabeller förr eller senare. Jag utgår från ett skrälle jag hittade på hubben:

    Kod:
    --[[ ******************************************************************************
     *                                                                            *
     *                         Pandoc 2 BBCode for phpBB                          *
     *                                                                            *
     ******************************************************************************
     "bbcode_phpbb.lua" v1.1 (2016-12-20)
         adapted by Tristano Ajmone (@tajmone):
         -- https://github.com/tajmone/2bbcode
     ------------------------------------------------------------------------------
     This code was forked by Tristano Ajmone from @lilydjwg's `2bbcode.lua`:
    
     -- https://github.com/lilydjwg/2bbcode
    
     Copyright (c) 2016, @lilydjwg (依云), all rights reserved.
     Released under BSD 3-Clause License:
    
     -- https://github.com/lilydjwg/2bbcode/blob/master/LICENSE
    
     ==============================================================================
                      BSD 3-Clause License                            
     ==============================================================================
     Copyright (c) 2016, 依云
     All rights reserved.
    
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
    
     * Redistributions of source code must retain the above copyright notice, this
       list of conditions and the following disclaimer.
    
     * Redistributions in binary form must reproduce the above copyright notice,
       this list of conditions and the following disclaimer in the documentation
       and/or other materials provided with the distribution.
    
     * Neither the name of the copyright holder nor the names of its
       contributors may be used to endorse or promote products derived from
       this software without specific prior written permission.
    
     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
     FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     ==============================================================================]]
    
    
    -- Invoke with: pandoc -t bbcode_phpbb.lua
    
    -- Blocksep is used to separate block elements.
    function Blocksep()
      return "\n\n"
    end
    
    -- This function is called once for the whole document. Parameters:
    -- body, title, date are strings; authors is an array of strings;
    -- variables is a table.  One could use some kind of templating
    -- system here; this just gives you a simple standalone HTML file.
    function Doc(body, title, authors, date, variables)
      return body .. '\n'
    end
    
    -- The functions that follow render corresponding pandoc elements.
    -- s is always a string, attr is always a table of attributes, and
    -- items is always an array of strings (the items in a list).
    -- Comments indicate the types of other variables.
    
    function Str(s)
      return s
    end
    
    function Space()
      return " "
    end
    
    function LineBreak()
      return "\n"
    end
    
    -- CHANGES BY @tajmone: Emphasis
    --   *  Convert to Italic [i] instead of Emphasis [em]
    function Emph(s)
      return "" .. s .. ""
    end
    
    function Strong(s)
      return "" .. s .. ""
    end
    
    function Subscript(s)
      error("Subscript isn't supported")
    end
    
    function Superscript(s)
      return s
    end
    
    function SmallCaps(s)
      error("SmallCaps isn't supported")
    end
    
    -- CHANGES BY @tajmone: Strikeout
    --   *  Convert to Underline [u] instead of Strikeout/Strikethrough [del]
    function Strikeout(s)
      return '' .. s .. ''
    end
    
    function Link(s, src, tit)
      local ret = '[url'
      if s then
    ret = ret .. '=' .. src
      else
    s = src
      end
      ret = ret .. "]" .. s .. "[/url]"
      return ret
    end
    
    -- CHANGES BY @tajmone: CaptionedImage
    --   *  Added CaptionedImage function (missing in original)
    --        Caused error for GFM images with Alt text (even if Alt was empty)
    function CaptionedImage(src, tit, caption, attr)
      return "[img]" .. src .. "[/img]"
    end
    
    function Image(s, src, tit)
      return "[img=" .. tit .. "]" .. src .. "[/img]"
    end
    
    function Code(s, attr)
      return "" .. s .. ""
    end
    
    function InlineMath(s)
      error("InlineMath isn't supported")
    end
    
    function DisplayMath(s)
      error("DisplayMath isn't supported")
    end
    
    function Note(s)
      error("Note isn't supported")
    end
    
    function Plain(s)
      return s
    end
    
    function Para(s)
      return s
    end
    
    -- CHANGES BY @tajmone: Headers 1-6
    --   *  Don't use [h] (unsupported in phpBB)
    --   *  Convert to different sizes and colors, always bold.
    --   *  Higher order headers have bigger font size and more contrasting color.
    
    -- lev is an integer, the header level.
    function Header(lev, s, attr)
      if lev == 1 then
    return "" .. s .. ""
      elseif lev == 2 then
    return "" .. s .. ""
      elseif lev == 3 then
    return "" .. s .. ""
      elseif lev == 4 then
    return "" .. s .. ""
      elseif lev == 5 then
    return "" .. s .. ""
      else
    return "" .. s .. ""
      end
    end
    
    function BlockQuote(s)
      return "
    " .. s .. "
    " end function HorizontalRule() return "--------------------------------------------------------------------------------" end function LineBlock(ls) return table.concat(ls, '\n') end function CodeBlock(s, attr) return "[abborre]\n" .. s .. '\n[/abborre]' end function BulletList(items) local buffer = {} for _, item in ipairs(items) do table.insert(buffer, "[*]" .. item) end return "
    • " .. table.concat(buffer, "\n") .. "
    " end function OrderedList(items) local buffer = {} for _, item in ipairs(items) do table.insert(buffer, "[*]" .. item) end return "
    1. " .. table.concat(buffer, "\n") .. "
    " end -- Revisit association list STackValue instance. function DefinitionList(items) local buffer = {} for _, item in pairs(items) do for k, v in pairs(item) do table.insert(buffer, "" .. k .. ":\n" .. table.concat(v, "\n")) end end return table.concat(buffer, "\n") end -- Convert pandoc alignment to something HTML can use. -- align is AlignLeft, AlignRight, AlignCenter, or AlignDefault. function html_align(align) if align == 'AlignLeft' then return 'left' elseif align == 'AlignRight' then return 'right' elseif align == 'AlignCenter' then return 'center' else return 'left' end end -- CHANGES BY @tajmone: Table -- * Now presence of a Table in input doesn't throw an error and abort, -- it just returns empty string, suppressing the table in converted output! -- * Warning is printed to STDERR showing the omitted Table's headers -- (so user can understand what was left out). -- Caption is a string, aligns is an array of strings, -- widths is an array of floats, headers is an array of -- strings, rows is an array of arrays of strings. function Table(caption, aligns, widths, headers, rows) local tmpstr = '| ' for i, h in pairs(headers) do tmpstr = tmpstr .. h .. ' | ' end PrintWarning('Table omitted: ' .. tmpstr) return '' -- error("Table isn't supported") end -- CHANGES BY @tajmone: RawBlock -- * Suppress from output if it's raw HTML -- (Even html comments were converted to [abborre], and Markdown TOC-tags would show up in final BBCode) -- * Warning is printed to STDERR with suppresed HTML function RawBlock(format, str) if format == "html" then PrintWarning('Raw HTML omitted: ' .. str) return '' else return '[abbore]\n' .. str .. '\n[/abbore]\n' end end function Span(s, attr) return s end function Div(s, attr) return s .. '\n' end -- The following code will produce runtime warnings when you haven't defined -- all of the functions you need for the custom writer, so it's useful -- to include when you're working on a writer. local meta = {} meta.__index = function(_, key) io.stderr:write(string.format("WARNING: Undefined function '%s'\n",key)) return function() return "" end end setmetatable(_G, meta) -- CHANGES BY @tajmone: DoubleQuoted -- * Added DoubleQuoted function (missing in original) -- Caused error for text within double quotes -- * Returns text in nice UTF-8 curly double quotes (always) function DoubleQuoted(s) return "“" .. s .. '”' end -- CHANGES BY @tajmone: SingleQuoted -- * Added SingleQuoted function (missing in original) -- Caused error for text within single quotes -- * Returns text in nice UTF-8 curly single quotes (always) function SingleQuoted(s) return "‘" .. s .. '’' end -- CHANGES BY @tajmone: SoftBreak -- * Added SoftBreak function (missing in original) -- This element was added in pandoc 1.16 as a matter of editing convenience -- to preserve line breaks (as opposed to paragraph breaks) from input source to output. -- * Returns text followed by \n function SoftBreak() return "\n" end -- CHANGES BY @tajmone: PrintWarning function -- * I've added this function to warn the user (on STDERR) when -- some BBCode-unsupported input is suppressed from output. function PrintWarning(s) io.stderr:write("WARNING! " .. s .. '\n') end --[[ ============================================================================== FILE HISTORY ============================================================================== v1.1 - 2016/12/20 - Bug Fix: Added missing fucntions: - DoubleQuoted() - SingleQuoted() - SoftBreak() v1.0 - 2016/12/10 - Forked from `2bbcode.lua` and created 1st release. ]]
    (Ni får byta ut ordet "abborre" mot "code" :D tydligen går det inte att ha en kod i koden :D)

    Jag har skickat upp dom patches jag kände för, såsom vis LineBlock, andra ändringar har jag inte brytt mig om. Ex vis lade dom in en massa extra drälliga linebreaks i och runt quote och list som jag har tagit bort. Funderar på att skicka upp det med för dom linebreaksen är såvittjagvet semantiska i BBcode/VBcode och ger en fulare output. Men det kan jag ha fått om bakfoten därför att orka.

    För att inifrån emacs kunna göra om regions från markdown till wrnu (att det är på region-basis är ibland väldigt smidigt, även om jag ofta tar hela buffern) har jag gjort en enkel liten snutt. (Skickar med den som är till S-G också, där behövdes ingen custom writer eftersom dom använder html):

    Kod:
    (defun wrnu ()
      (interactive)
      (shell-command-on-region (mark) (point) "pandoc -St ~/.pandoc/data/wrnu.lua" nil t))
    
    (defun sg ()
      (interactive)
      (shell-command-on-region (mark) (point) "pandoc -S" nil t))
    Pathen till writern får ni ju ändra såklart!

    Det som gör markdown så bra är samma sak som det får kritik från av dom som inte fattat: att man kan skriva saker i orginalspråket också. Markdown är inte som Textile att det är en all-ersättande lösning. Det är bara som en liten genväg eller hjälp för dom som ibland tycker det är lättare att skriva *bold* än [*b]bold[*/b] och ibland inte tycker det. Ex vis om man skriver html kan man blanda html och markdown i samma fil, om man skriver wrnu-forum-kod kan man blanda det och markdown i samma fil. Så för att göra länkar har jag skrivit dom på vanlig forumsyntax, har aldrig riktigt vant mig vid markdowns länksyntax. Men… jag är uppenbarligen inte van vid wrnu:s syntax heller för det är fortfarande bland dom vanligaste felen i mina inlägg, att jag mablat till URL-syntaxen. Så idag har jag pillat till en lösning på det.

    Kod:
    (defun md-link ()
      (interactive)
      (shell-command (concat "/home/sandra/skami/sh/md_link.sh '" (read-from-minibuffer "Link peps: ") "'") t)
      (forward-sexp 2))
    
    (global-set-key (kbd "C-c C-l") 'md-link)
    Jag brukar bara köra wrnu och sg från M-x. Men md-link mappade jag till C-c C-l.

    Programmet som gör om söksträng till färdigformaterad link är inte en självklarhet (speciellt om ni inte heter “sandra” och inte har era skalskript i “skami/sh”), jag slängde ihop ett skalskript med zenity och sqlite3 som söker igenom min firefox browsing history för att hitta länken.

    Kod:
    #!/usr/bin/zsh
    exec 2>/dev/null
    match=$(echo "$*"|sed -e 's/ /%/g' -e 's/^/%/g' -e 's/$/%/g')
    
    get_new_title(){
    echo -n $(zenity --entry --entry-text="$(echo "$*" |sed 's/|.*//')")
    
    }
    
    title_fixer() {
    echo -n '['$(get_new_title "$*")']('$(echo "$*"|sed 's/.*|//')')'
    }
    
    title_fixer $(sqlite3 /home/sandra/.mozilla/firefox/*default/places.sqlite "select title, url from moz_places where url like '${match}' or title like '${match}';"|zenity --list --column Places|head -1)
    Så jag kan till exempel trycka på C-c C-l, skriva in preppar hörna, och få upp en lång lista med länkar, välja en av dom, skriva in en ny titel på den (eller ändra/nöja mig med den hemsidans title-tag), och så klistras det in i markdownformat i buffern. Även om jag inte riktigt är van vid markdowns länksyntax kanske detta kan få mig att bli mer van + det kommer funka till S-G också om jag nu nån gång kommer tillbaka dit efter min välförtjänta och totalt rättvisa och inte alls oproportionerliga rage quit.♥
    Last edited by 2097; 01 June 2017, 14.18.

  • #2
    Jag har börjat skriva mina spel i org-mode och sedan exportera till LaTeX för PDF-konvertering när de skall spridas.

    Emacs är lycka.

    Kommentera


    • #3
      Jag skrev mina fanfics till spelarna (ex vis den senaste igår) i org-mode och skriver ofta mina blogposter där också.

      Org-mode behövdes för fanficsen eftersom dom har olika branches som läsaren kan välja mellan. Varje branch blev en rubriknivå i org-mode. Fulhack :D

      Org-mode har dock ett problem. Eller, ja, två. Det ena är att det inte går att blanda forumkod och org-mode fritt. Ex vis saker som spoiler-taggar. Och det andra är att markdownsyntaxen är mycket enklare att komma ihåg för den är så lik ascii-email. Att skriva /italic såhär/ har jag väl vant mig vid men det är alltid saker som trippar upp mig.

      Därför är jag glad att både pandoc och jekyll kan läsa (och känna igen) både org-mode och markdown så jag kan använda det ena ibland, det andra ibland. Använder nåt ruby plugin till jekyll för att kunna ta org-mode-poster.
      Och pandoc kan ju också göra om dom emellan sig. Iom att pandoc kan läsa org mode så kan du kanske ha nytta av min wrnu-writer också. Den blev lite tillmablad i codeblocket men här är den iaf som fil.

      Men ja, org-mode är otroligt bra och jag använder det mycket.

      Wilps, du ska få dig en present isf iom du gillar org-mode lika mkt som jag. Något jag har uppfunnit och kallar fantastic ret och inte har orkat skicka upstream:

      Kod:
      (defcustom fantastic-ret-in-position "^\\** *"
        "On a line immediately following BOL, any number of asterisks, and then any number of spaces"
        :type 'regexp)
      
      (defun find-level ()
        (save-excursion
      (move-beginning-of-line nil)
      (setq level 0)
      (while (looking-at "\\*")
        (setq level (1+ level))
        (forward-char))
      level))
      
      (defun find-previous-level ()
        (save-excursion
      (while (and (zerop (forward-line -1)) (zerop (find-level))))
      (find-level)))
      
      (defun new-line-same-level ()
        (let ((amount (find-level)))
      (newline)
      (insert-char ?* amount)
      (unless (zerop amount) (insert-char ?  1))))
      
      (defun change-level ()
        (let* ((my-level (find-level))
           (prev-level (find-previous-level))
           (amount
            (cond ((eq my-level prev-level)
               (1+ prev-level))
              ((zerop my-level)
               prev-level)
              ((> my-level prev-level)
               (max 0 (1- prev-level)))
              (t (max 0 (1- my-level))))))
      (move-beginning-of-line nil)
      (while (looking-at "[* ]") (delete-char 1))
      (insert-char ?* amount)
      (unless (zerop amount) (insert-char ?  1))))
      
      (defun org-fantastic-ret ()
        (interactive)
        (if (looking-back fantastic-ret-in-position)
        (change-level)
      (new-line-same-level)))
      
      (defun org-vanilla-ret ()
        (interactive)
        (newline)
        (move-beginning-of-line nil))
      
      (eval-after-load 'org
        '(define-key org-mode-map "\r" 'org-fantastic-ret))
      
      (eval-after-load 'org
        '(define-key org-mode-map [(control return)] 'org-vanilla-ret))
      Jag har mappat fantastic-ret till RET, och vanliga newlines ligger ju kvar på C-j och C-m, och så har jag gjort en newline som dessutom hoppar till början av raden som jag har lagt på C-RET.

      Så här funkar det:

      Fantastic-ret gör två olika saker. Dels om man trycker på den så görs nästa rad på samma level i org-hierarkin. Dvs:

      **** Hej
      ***** Du
      ***** Gamle|← om du trycker fantastic-ret här
      ***** |← så kommer du hit, dvs den gör fem stjärnor och ett mellanslag åt dig


      Det andra den gör är också rätt så smart. Om du trycker på den *när du har din cursor på ett sånt ställen* så togglas istället vilken org-level du är på.

      **** Hej
      ***** Du
      ***** Gamle
      ***** |← om du trycker fantastic-ret här


      **** Hej
      ***** Du
      ***** Gamle
      ****** |← så läggs en stjärna till

      Den första tryckningen lägger till en stjärna, sen börjar den ta bort stjärnor, och den cyklar runt så det är bara att trycka till du är nöjd.

      Det coola är att det såklart också går att som vanligt lägga till och ta bort stjärnor och använda resten av org-mode med indrag, utdrag etc som org-mode kan göra.

      Åh och det andra coola är ju att det funkar även när det står något på den rubriken. Jag ställer cursor efter stjärnorna och mellanslaget och sen kan jag cykla det in och ut.

      Vill jag göra vanliga blankrader kan jag trycka C-RET och det funkar t.om. bättre än gamla RET i org-mode eftersom jag slipper dom där extra indragen (och när jag vill ha dom så kan jag trycka på C-j).

      Mitt workflow är att jag ofta använder fantastic-ret (som jag dvs har mappat till vanliga returknappen) när jag först gör min outline, och vill jag skriva något i bröden under en viss rubrik då trycker jag C-RET för att göra det.

      * skriva skriva skriva
      ** RET RET skriva skriva skriva
      ** RET skriva skriva skriva
      *** RET RET skriva skriva
      C-RET skriva lite här inne
      RET nästa rad här inne
      RET
      C-RET för blankrader behövs C-RET
      *** RET RET kom ut hit igen
      **** RET RET nu är jag här
      *** RET RET RET nu är jag tillbaks här inne
      ** RET RET RET nu är jag här
      ** RET fortsätter här
      RET RET RET RET det går också att cykla sig in till icke-outline
      RET och forsätta skriva där
      RET
      C-RET men för blankrader behövs fortfarande C-RET
      ** RET RET och nu tillbaks till där jag var i outlinen!

      Dvs, ett RET betyder “fortsätt på samma nivå” och sen är flera RET i rad ganska så DWIM speciellt eftersom det cyklar igenom dom och man kan se vad som händer.

      Men när jag skriver långa textstycken så händer det ofta att jag växlar mellan org-mode och text-mode, för att kunna göra blankrader lätt.
      Last edited by 2097; 01 June 2017, 13.30.

      Kommentera


      • #4
        Jag använder också pandoc till att göra mina A7-kort när jag preppar. Vissa gör jag i markdown, vissa i org-mode, beror på lite vad jag behöver göra på kortet. Har ganska mkt egna templates till TeX och egna writers och readers till pandoc.

        Kommentera


        • #5
          Har du någon verktygsuppsättning som gör det lättare och behagligare att läsa på forumet? Jag har funderat på att skriva ihop något i bash (det renderar inte så snyggt i lynx), men det känns som lite för mycket jobb. Underligt nog är kanske den största bromsklossen för att starta ett sånt projekt det faktum att jag inte vet hur en skickar med cookies i curl... Som om det vore svårt att kolla upp.

          Kommentera


          • #6
            BW: Jag började med ett w3m-baserat härke men det föll sig på att wrnu använder så mkt ajax.

            Att göra en read-only grej (och då slopa kakorna) skulle ju funka med någon typ av scrape:r; jag brukar använda xmlstarlet i skalet när jag vet att sidan är wellformed (ex vis api:er) och htmlprag i chicken scheme när jag vet att sidan är ett buggigt härke. Men jag vill ju kunna posta också♥

            Så det jag gör är att läsa med vanliga Firefox och så klipp och klistrar jag mellan textfältet och emacs :/ lite bökigt.

            Kommentera


            • #7
              Iofs. Jag varnade Mac-användare att Leave the Hall i trådstarten men det finns ju markdown-editors (vissa rätt snygga och grafiska) till dom också och pandoc finns också. Dom kan säkert kladda ihop något vettigt från den här tråden om dom har huvet på skaft.

              Kommentera


              • #8
                Mac-användare här. Tack för tipset om pandoc – otroligt användbart hjälpmedel ju! Installerade precis med homebrew och satte genast igång och började konvertera mina markdown-anteckningar till pdf bara för att testa, funkar ju utmärkt!

                EDIT: Och den fixar LaTeX-matte också. Och gör tabeller. Fantastiskt!

                Last edited by kloptok; 01 June 2017, 15.26.

                Kommentera


                • #9
                  Jag började använda emacs i slutet av 90-talet (min första linuxdistro var Slackware och sedan Debian Slink) och använde den som ordbehandlare ända fram till 2009, då jag bytte till mac och småningom Scrivener. När jag började fanns varken pandoc, markdown eller org, så jag använde LaTeX för mina två första böcker och brydde mig inte om att följa utvecklingen inom märkuppspråk och emacs-modes. Den här posten fick mig att gå tillbaka till emacs. Org+pandoc+zotero/org-ref är otroligt kraftfullt! Det finns ingen anledning att använda scrivener, ulysses eller ia writer längre -- inte ens estetiskt -- om man har grundläggande unix-kunskaper och är beredd på att lära sig lite mer. Det man vinner är en mycket kraftfullare, säkrare och snabbare ordbehandlare som har en tendens att ta över mer och mer av ens dagliga digitala göromål (t.ex. git, och en del använder tydligen som kalender, mejlläsare, browser ...).

                  Mina tips:

                  writeroom-mode + org-mode + pandoc-mode blir väldigt snyggt och ögonvänligt med zenburn-tema och följande justeringar: toggle-wordwrap, toggle-truncate-lines, fringe-mode --> no-fringes. Jag brukar justera till 66 i teckenbredd med writeroom-decrease-width. Vill man ha en enkel filhanterare bredvid finns neotree.

                  För akademiker är det möjligen bra att veta att man i ett org-dokument kan hänvisa till källor genom att använda referenser i pandoc-stil, dvs. inte nödnvändigtvis i org-stil. Istället för cite:key kan man använda [@key] eller [-@key] -- det senare en funktion som jag inte lyckats hitta i org. Det funkar inte för en snabbexportering via org vad jag kan se (dvs. källorna exporteras då som nycklar), men poängen med pandoc är ju att man låter pandoc sköta exporteringar, och då funkar det utmärkt. Man kan använda org-ref för att snabbt söka i en zoterogenererad bibtex-fil inuti emacs. På det här viset kan man ha alla hänvisningar (inklusive pdf:er) i zotero, vilket gör att man snabbt kan byta till word eller openoffice om man t.ex. får i uppdrag att redigera något med track changes på. En fördel med pandoc i förhållande till word är också att man som redaktör kan rensa upp en formateringsmässigt hopplös word-fil på ett ögonblick genom att omvandla någons word-fil till pandoc-markdown och sedan tillbaka till word (eventuellt via en exempel-fil som ger de stilmallar du vill ha). Pandoc genererar också som default väldigt bra word-filer med få och kloka stilmallar.

                  Ett annat tips för mac-användare är att binda om tangenterna lite. Jag har satt capslock som control samt höger command som altgr och höger alt som control. Det gör tangentbordet mer emacsvänligt. C-p, C-n, C-f och C-b är *värt* att lära sig använda istället för piltangeterna, särskilt i kombination med C-r och C-s, för att snabbt förflytta sig i ett dokument. Eftersom emacs bygger helt på tangentkommandon kan man också stänga av styrplattan medan man skriver (5 alt -- samma för att slå på igen), så slipper man komma åt den och skapa irriterande hopp (jag kan inte fatta att man inte har bättre mjukvara för att bortse från oavsiktliga snuddar på senare mbp när de har så stora plattor!).

                  Emacs har även en funktion för att använda google translate inline.

                  Det finns en org-app för smart-phone.

                  Tack 2097 för tipsen!

                  Hälsar

                  Christian
                  Last edited by Fiktionslek; 25 July 2017, 08.52.

                  Kommentera


                  • #10
                    Även windowsanvändares och linux-användares tillvaro med emacs blir mer behaglig om de byter Caps-Lock mot en Ctrl.

                    Kommentera

                    Arbetar …
                    X