diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 4e2077b6d47..00000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: [hakimel, Codes-Exe ] diff --git a/.rmv/config/db.mvbasic.json b/.rmv/config/db.mvbasic.json new file mode 100644 index 00000000000..e0f928f040a --- /dev/null +++ b/.rmv/config/db.mvbasic.json @@ -0,0 +1,144 @@ +/* + Database configuration + + This is the example configuration file for the Rocket MV Basic for VS Code extension. + The configuration file should be at .rmv/config/db.mvbasic.json. + + Configure the following items: + - db:{} This object defines the connection details to the U2 server. + + - accounts: [] This array of objects defines paths on the local machine to other accounts. + + - catalog: {} This object allows autocompletion for CALL statements and + enables "Peek" and "Go to Definition" to access the source code. + + - includeMapping: [] This array allows autocompletion for INCLUDE files and + enables "Peek" and "Go to Definition" to access the source code for an INCLUDEd item. + +*/ +{ + "version": "1.0", + + // Define connection details to the U2 server. + // VS Code prompts for these values when left blank. + // For more information, please refer https://rocketsoftware.github.io/rocket-mvbasic/usage/Connection + "db": { + + // Hostname or IP address of U2 server. + "host": "", + // "host": "localhost", + // "host": "my.u2.server.local", + // "host": "192.0.2.1", + + // Username used to log in over Telnet or UniRPC. Use an escape character for domain log-in. (\\ instead of \) + "userName": "", + // "userName": "DOMAIN1\\myuser", + // "userName": "myuser", + + // Password used to log in over Telnet or UniRPC. RECOMMENDED TO LEAVE THIS PASSWORD BLANK. + // VS Code will prompt for the password when connecting. + "password": "", + + // U2 account to LOGIN to. + "account": "", + // "account": "XDEMO", + // "account": "MVTUTOR", + + // Data source is either "UNIVERSE" or "UNIDATA". + // If this value is changed, VS Code MUST BE restarted for it to take effect. + "dataSource": "UNIVERSE", + + // UniRPC TCP/IP port to connect to U2 server. 31438 is the default port of UniRPC. + // Match the port number here if the U2 server runs the UniRPC on another port. + "port": 31438 + }, + + // The "accounts" array defines the local paths to the U2 server account directories. + // These accounts are referred to in the "catalog" and "includeMapping" items. + // The "db" section "account" does not need to be defined here since it would be the current directory. + // For more details, please refer https://rocketsoftware.github.io/rocket-mvbasic/usage/Accounts/ + "accounts": [ + { + // The account name. For example, "XDEMO" or "HS.SALES" or "MVTUTOR", etc. + // This is the "account" referred to in the "programDirs"."programMapping" and "includeMapping" arrays. + "name": "", + + // The full path of the account's folder as referenced from this local machine. + // For example, "C:\\U2\\UV\\XDEMO" or "U:\\U2\\UV\\XDEMO" or "/mnt/u2server/U2/UV/XDEMO". + // NOTE : If this client is a windows box, you must specify two backslashes (\\) between directories. + "path": "" + } + ], + + // Map cataloged programs for autocompletion of CALL statements. + "catalog": { + + // Enables the extension to scan all directories in the workspace (account). + // Affects performance when there are a large number of directories in the workspace. + // Best practice is to define specific directories in "programDirs" that are known to contain SUBROUTINE source code. + "isSearchAllDirs": false, + + // This is the time interval (in seconds) when the extension will scan directory files in the account. + // The default for this setting is 5. + "readServerInterval": 5, + + // The "programDirs" array defines the accounts and directories in which to search for source code for CATALOGed + // ("CALL " program) items. You can define multiple directories to search. + // The directories will be searched for source code in alphabetic order regardless of their order in the array. + // You can find examples of this setting at https://rocketsoftware.github.io/rocket-mvbasic/usage/Catalog/ + "programDirs": [ + { + // Account name. Account name should be defined in "accounts" array. + // This setting could be removed if cataloged programs are not in directories in other accounts. + "account": "", + + // The name of source code directory which contains cataloged programs. + // When searching cataloged programs, this configured directory will be scanned. + "fileName": "" + } + ], + + // The "programMapping" array allows a one-to-one correlation for known SUBROUTINEs to be offered in the + // "CALL " auto-completion. If set in this section, those items defined as "catalogName" will appear in the + // pop-up auto-completion list and the source for "Peek" or "Go to Definition" can be explicitly defined here + // as "account", "fileName" and "program". + // You can find examples of these settings at https://rocketsoftware.github.io/rocket-mvbasic/usage/Catalog/ + "programMapping": [ + { + // The CATALOGed program name to be used in the CALL statement. + "catalogName": "", + + // The Account name where the cataloged program source code exists. The Account name must appear in the + // "accounts" array with it's associated local path unless it is the current workspace account. + "account": "", + + // The name of the actual program directory which contains the source code of cataloged program. + // NOTE: This may differ from the VOC entry for this U2 program file, since a Q or F point could + // exist that points to a different OS level directory. + "fileName": "", + + // The item ID of the source code in the "fileName" directory defined above. + "program": "" + } + ] + }, + + // The 'includeMapping" array allows the extension to populate the pop-up list for "INCLUDE file " and allows the + // "Peek" and "Go to Definition" to access the source code for the INCLUDEd item. + // Please refer more details at https://rocketsoftware.github.io/rocket-mvbasic/usage/Include/ + "includeMapping": [ + { + // The file name used in the "INCLUDE " statement. For example INCLUDE BP ABC would have "BP" as the + // "includeFile" name. This file name would be a VOC entry within the "account" and is not necessarily the + // actual OS directory name. + "includeFile": "", + + // The account where the actual code directory exists. This "account" should be configured in "accounts" array. + "account": "", + + // The actual OS directory within the account. This may vary from the VOC name in "includeFile" above. + // For example, UNIVERSE.INCLUDE in the VOC may refer to OS directory INCLUDE. + "fileName": "" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000000..f2d206b4b3a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,18 @@ +{ + "[rocket-mvbasic]": { + "editor.codeLens": false + }, + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/CVS": true, + "**/.ruby-lsp": true, + ".mule": true, + "**/.rmv/catalog/**": true, + "*/_*": false + }, + "git.ignoreLimitWarning": true +} \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..9fd1877706d --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +starcomputer.com.tr \ No newline at end of file diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 00000000000..67988266848 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,1236 @@ + + + + + + + StarComputer reveal.js + + + + + + + + + +
+
+ + + 187872518-57fd90bd-6821-4e59-8dcb-6f2ecebcb906 +
Çerçeve, iç içe geçmiş slaytlar, Markdown desteği, Otomatik Animasyon, PDF dışa aktarma, konuşmacı notları, LaTeX dizgi, sözdizimi vurgulanmış kod ve kapsamlı bir API içeren güçlü bir özellik seti ile birlikte gelir.
+
+ + + 1738339969360 + +

The HTML Presentation Framework

+

+ Created by Hakim El Hattab and contributors +

+
+
+

Hello There

+

+ reveal.js enables you to create beautiful interactive slide decks using HTML. This presentation will show you examples of what it can do. +

+
+ +
+
+

Vertical Slides

+

Slides can be nested inside of each other.

+

Use the Space key to navigate through all slides.

+
+ + Down arrow + +
+
+

Basement Level 1

+

Nested slides are useful for adding additional detail underneath a high level horizontal slide.

+
+
+

Basement Level 2

+

That's it, time to go back up.

+
+ + Up arrow + +
+
+
+

Slides

+

+ Not a coder? Not a problem. There's a fully-featured visual editor for authoring these, try it out at https://slides.com. +

+
+
+

Hidden Slides

+

+ This slide is visible in the source, but hidden when the presentation is viewed. You can show all hidden slides by setting the `showHiddenSlides` config option to `true`. +

+
+
+

Pretty Code

+

+						import React, { useState } from 'react';
+
+						function Example() {
+						  const [count, setCount] = useState(0);
+
+						  return (
+						    ...
+						  );
+						}
+					
+

Code syntax highlighting courtesy of highlight.js.

+
+
+

With animations

+
+
+
+

Point of View

+

+ Press ESC to enter the slide overview. +

+

+ Hold down the alt key (ctrl in Linux) and click on any element to zoom towards it using zoom.js. Click again to zoom back out. +

+

+ (NOTE: Use ctrl + click in Linux.) +

+
+
+

Auto-Animate

+

Automatically animate matching elements across slides with Auto-Animate.

+
+
+
+
+
+
+
+
+
+
+
+
+

Auto-Animate

+
+
+
+
+
+
+
+

Auto-Animate

+
+
+

Touch Optimized

+

+ Presentations look great on touch devices, like mobile phones and tablets. Simply swipe through your slides. +

+
+
+ +
+
+

Add the r-fit-text class to auto-size text

+

FIT TEXT

+
+
+
+

Fragments

+

Hit the next arrow...

+

... to step through ...

+

... a fragmented slide.

+ + +
+
+

Fragment Styles

+

There's different types of fragments, like:

+

grow

+

shrink

+

fade-out

+

+ fade-right, + up, + down, + left +

+

fade-in-then-out

+

fade-in-then-semi-out

+

Highlight red blue green

+
+
+
+

Transition Styles

+

+ You can select from different transitions, like:
+ None - + Fade - + Slide - + Convex - + Concave - + Zoom +

+
+
+

Themes

+

+ reveal.js comes with a few themes built in:
+ + Black (default) - + White - + League - + Sky - + Beige - + Simple
+ Serif - + Blood - + Night - + Moon - + Solarized +

+
+
+
+

Slide Backgrounds

+

+ Set data-background="#dddddd" on a slide to change the background color. All CSS color formats are supported. +

+ + Down arrow + +
+
+

Gradient Backgrounds

+
<section data-background-gradient=
+							"linear-gradient(to bottom, #ddd, #191919)">
+
+
+

Image Backgrounds

+
<section data-background="image.png">
+
+
+

Tiled Backgrounds

+
<section data-background="image.png" data-background-repeat="repeat" data-background-size="100px">
+
+
+
+

Video Backgrounds

+
<section data-background-video="video.mp4,video.webm">
+
+
+
+

... and GIFs!

+
+
+
+

Background Transitions

+

+ Different background transitions are available via the backgroundTransition option. This one's called "zoom". +

+
Reveal.configure({ backgroundTransition: 'zoom' })
+
+
+

Background Transitions

+

+ You can override background transitions per-slide. +

+
<section data-background-transition="zoom">
+
+
+
+

Iframe Backgrounds

+

Since reveal.js runs on the web, you can easily embed other web content. Try interacting with the page in the background.

+
+
+
+

Marvelous List

+
    +
  • No order here
  • +
  • Or here
  • +
  • Or here
  • +
  • Or here
  • +
+
+ +
+

Fantastic Ordered List

+
    +
  1. One is smaller than...
  2. +
  3. Two is smaller than...
  4. +
  5. Three!
  6. +
+
+
+

Tabular Tables

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ItemValueQuantity
Apples$17
Lemonade$218
Bread$32
+
+
+

Clever Quotes

+

+ These guys come in two forms, inline: The nice thing about standards is that there are so many to choose from and block: +

+
+ “For years there has been a theory that millions of monkeys typing at random on millions of typewriters would + reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.” +
+
+
+

Intergalactic Interconnections

+

+ You can link between slides internally, + like this. +

+
+
+

Speaker View

+

There's a speaker view. It includes a timer, preview of the upcoming slide as well as your speaker notes.

+

Press the S key to try it out.

+ + +
+
+

Export to PDF

+

Presentations can be exported to PDF, here's an example:

+ +
+
+

Global State

+

+ Set data-state="something" on a slide and "something" + will be added as a class to the document element when the slide is open. This lets you + apply broader style changes, like switching the page background. +

+
+
+

State Events

+

+ Additionally custom events can be triggered on a per slide basis by binding to the data-state name. +

+

+Reveal.on( 'customevent', function() {
+	console.log( '"customevent" has fired' );
+} );
+					
+
+
+

Take a Moment

+

+ Press B or . on your keyboard to pause the presentation. This is helpful when you're on stage and want to take distracting slides off the screen. +

+
+
+

Much more

+ +
+
+

PANDOC

+ +

pandoc -s --mathjax -i -t revealjs SLIDES -o example16d.html

+ - Pandoc Demo Sites
+
+
+

THE END

+

+ - Try the online editor
+ - Source code & documentation
+

+

+ - MyComputer Blog FastPages
+ - Support: ercetinguler@hotmail.com
+

+
+
+
+ + + + + + + + + + + + + + + Pandoc for TeXnicians + + + + + + + + + + +
+
+ +
+

Pandoc for TeXnicians

+

John MacFarlane

+

TUG 2020, 2020-07-26

+
+ +
+
+

Overview

+ +
+
+

+
    +
  • What is pandoc?
  • +
  • Using pandoc to convert to and from LaTeX
  • +
  • Why write in Markdown?
  • +
  • Overcoming Markdown’s limitations
  • +
+
+
+
+

What is pandoc?

+ +
+
+

+

https://pandoc.org

+
+
+

Let’s take it for a spin

+
% cat simple.tex
+\section{On $e=mc^2$}\label{einstein}
+
% pandoc -f latex -t native simple.tex
+% pandoc -f latex -t html simple.tex
+% pandoc -t html --mathml simple.tex
+% pandoc -t html --mathjax simple.tex
+% pandoc -t -html --mathjax -s simple.tex
+% pandoc -t ms simple.tex
+% pandoc -t gfm simple.tex
+% pandoc -t context simple.tex
+% pandoc -t jats simple.tex
+
+
+

Some math

+

Let’s try with a sample TeX document by Professor A.J. Roberts at the +University of Adelaide (CC licensed).

+

http://www.maths.adelaide.edu.au/anthony.roberts/LaTeX/Src/maths.tex

+
+
+

Some math

+
% pandoc maths.tex -o maths.docx
+
+

Two problems:

+
    +
  • the use of a low-level TeX primitive \mathcode.
  • +
  • the use of \parbox (line 288)
  • +
+

Fix by removing the \mathcode stuff and redefining the +\parmath macro as a no-op:

+
\newcommand{\parmath}[2][]{#2}
+
+
+
+

Take two

+
% pandoc maths.tex --number-sections -o maths.docx
+% open maths.docx
+
    +
  • AMS theorem environments come out right, including references.
  • +
  • Math is translated into native Word equation objects, which can be +edited and which match the font, rather than images.
  • +
  • Still missing: equation numbers.
  • +
+
+
+

Going the other way

+
% pandoc maths.docx -o newmaths.tex -s
+% xelatex newmaths
+% xelatex newmaths
+
+
+

Converting to HTML

+
% pandoc maths.tex -s -o maths.html --mathml \
+  --number-sections --toc
+% open maths.html
+
+
+

Comparison with latex2rtf

+
% latex2rtf maths.tex
+% open -a "Microsoft Word" maths.rtf
+
    +
  • References not resolved in Section 1
  • +
  • Accents in Section 2 not above the letters, math generally ugly
  • +
  • Arrays in Section 8 totally broken; same with subequations in +Section 9
  • +
  • But at least we do get equation numbers in Section 9
  • +
+
+
+

Comparison with tex4ht

+
% make4ht maths
+% open maths.html
+
    +
  • Theorem environments not handled in Section 1 (except for +one?).
  • +
  • Missing accents in Section 2.
  • +
  • Ugly equations that incorporate both text and images in different +fonts.
  • +
+
+
+

Comparison with Word from PDF

+
% pdflatex maths
+% pdflatex maths
+% open -a "Microsoft Word" maths.pdf
+
    +
  • Section 2, accents messed up.
  • +
  • Some formulas are rendered with images, others with regular +characters, in non-matching font.
  • +
  • The ‘where’ in Section 6 is badly mispleacd.
  • +
  • The integral is missing in Section 7
  • +
  • The diagonal ellipses are missing in the arrays
  • +
+
+
+

Pandoc can interpret TeX macros

+
% cat macros.tex
+\newcommand{\nec}{\Box}
+\newcommand{\if}[2]{#1 \rightarrow #2}
+\newenvironment{warning}%
+ {\begin{quote}\textbf{WARNING!}}%
+ {\end{quote}}
+
+$\if{\nec \phi}{\phi}$
+\begin{warning}
+Don't try this at home.
+\end{warning}
+
% pandoc macros.tex -t html
+
+
+

Pandoc can resolve bibtex citations

+

With the help of the pandoc-citeproc filter (included in +the released binaries).

+
% pandoc --filter pandoc-citeproc bib.tex \
+  -t plain --csl ieee.csl
+
+
+

Limitations

+

Pandoc is far from being able to convert arbitrary tex files with +high accuracy.

+

Let’s try with a real-world example I got at random from arxiv.

+
% cd arxiv.2007.07694v1
+% pandoc arxiv.tex -o arxiv.docx
+
+
+
+

An alternative

+ +
+
+

An alternative

+

So you can’t just write in LaTeX and expect to convert at the last +minute to docx (for a publisher) or epub (for your students) or HTML +(for your website).

+

An alternative: write your document in pandoc’s extended version of +Markdown, which pandoc can convert with complete accuracy to any of its +output formats.

+
+
+

What is Markdown?

+

Markdown is a set of conventions for indicating document formatting +in plain text, mostly inherited from the pre-internet days of bulletin +boards and email.

+

It was designed in 2004 by John Gruber with help from Aaron Schwartz, +and it is currently much used by programmers, and on forums like +stackoverflow and reddit, and by data scientists via Jupyter notebooks +and RMarkdown.

+

https://daringfireball.net/projects/markdown/

+
+
+

Appealing things about Markdown

+

The source text is readable as it is. When writing and revising, you +don’t have to parse through command-words which aren’t part of the +content.

+
+

If you’re writing in a language other than English, you don’t have to +have English words sprinkled in the text.

+
+
+

There’s no boilerplate at the beginning. The document just starts +with the text.

+
+
+
+

Real separation of content from formatting.

+
+

The paucity of means is the greatest virtue of markdown and pandoc +markdown.

+

It is strangely difficult to get people to see the point, but the +defects of LaTeX for concentration, writing and thought, are at least as +great as those of Word, for the simple reason that it gives the writer +too much power; there is always another package to call in the preamble, +as there is always another drop down menu in Word. …

+

In markdown - not to put too fine a point on it - the writer is only +ever faced with one question, and it is the right one: what the next +sentence should be.

+

— Michael Thompson, pandoc-discuss mailing list

+
+
+
+

Appealing things about Markdown

+

Using Markdown makes it possible to collaborate with others who don’t +know LaTeX.

+
+
+

Appealing things about Markdown

+

Markdown can be converted with complete, reliable accuracy into many +different formats.

+

It’s often not enough just to produce a PDF.

+
    +
  • JATS for publication or archiving
  • +
  • EPUB for convenient reading on mobile devices
  • +
  • Docx or ICML for a publisher
  • +
  • HTML for a website (or accessibility)
  • +
  • Jupyter notebook for research
  • +
  • Beamer or reveal.js slides for presentation
  • +
+

TeX is a great assembly language for publication-quality +documents.

+
+
+

Limitations of Markdown

+

John Gruber’s original markdown syntax lacks support for:

+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
+
+
+

Limitations of Markdown

+

We couldn’t live without these things in academic writing.

+

And we definitely couldn’t live without

+
    +
  • +
  • +
+

How can we overcome these limitations?

+
+
+
+

Overcoming Markdown’s limitations

+ +
+
+

Pandoc’s extended Markdown syntax

+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
+
+
+

+

Pandoc also understands LaTeX macro definitions, which you can use +for math (no matter what the output format).

+
+
+

+

Labels and cross-references are still a work in progress, but you can +get good support for them using an external filter, +pandoc-crossref, by pandoc contributor Nikolay Yakimov.

+
+
+

+

You can use the --citeproc filter to resolve citations +in this syntax:

+
Blah blah [@putnam:empirical, p. 33; see also
+@dummett:empirical].
+

Change the style by specifying a CSL stylesheet. (You can even change +between author-date, numerical, and footnote sytles with no +modifications to the source.)

+

You can use your existing bibtex or biblatex bibliography file, or a +CSL JSON bibliography such as can be produced by Zotero.

+
+
+

+

LaTeX macros allow you to define new constructions that exactly fit +what you’re writing about. Can we recover this flexibility?

+
+
+

Raw TeX in Markdown

+

One approach is to just include bits of raw TeX in your markdown +file. Pandoc allows that.

+
    +
  • There is a special syntax for indicating chunks of raw TeX, but +pandoc will also recognize obvious bits of raw TeX and pass them through +as such.

  • +
  • The raw TeX chunks will be passed on unchanged if the output +format is latex, beamer, or +context, and otherwise simply omitted.

  • +
+
+
+

+
% cat raw.md
+% pandoc raw.md -o raw.pdf
+% open raw.pdf
+

But:

+
% pandoc raw.md -s -o raw.html
+% open raw.html
+
+
+

+

Drawbacks:

+
    +
  • With this approach you lose the ability to target multiple +formats.
  • +
  • Your source is now an ugly mix of Markdown and TeX, compromising +readability.
  • +
+
+
+

A better approach

+
    +
  1. Adopt the convention that a certain thing representable in +pandoc’s markdown should be interpreted as, say, a dropped capital +letter.

  2. +
  3. Write a filter that does the interpretation.

  4. +
+
+
+

Example: drop caps

+

In LaTeX we can use the lettrine package to get dropped +capitals at the beginning of chapters:

+
\lettrine{T}{his} is a pulley
+

We will use a generic bracketed span with a class to represent this +in Markdown:

+
[This]{.dropcap} is a pulley.
+
+
+
+

Example: drop caps

+

Now we need a filter that replaces Span elements with +class dropcap in the Pandoc AST with something appropriate +for the output format.

+

+
+
+

Two kinds of filters

+
    +
  • JSON filters operate on a serialized JSON +representation of the pandoc AST. They can be written in any language +that can consume and produce JSON.

  • +
  • Lua filters use a Lua interpreter and +environment built into pandoc. No external software need be installed, +and the filters are more efficient, because we don’t need to serialize +and deserialize as JSON.

  • +
+

Documentation: https://pandoc.org/lua-filters.html

+
+
+

Example: drop caps

+

In a Lua filter we define functions that match different kinds of AST +elements. Here we want to match a Span. Create a file +dropcap.lua:

+
function Span(el)
+  -- do something with the Span (el)
+  -- return the transformed element or a new element
+end
+
+
+

Example: drop caps

+

We only want to do something if the Span has the class +dropcap and its contents begin with a Str element.

+
function Span(el)
+  if el.classes:includes('dropcap') then
+    return make_dropcap(el.content)
+  end
+end
+
+
+

Example: drop caps

+

Now we just have to define make_dropcap. It takes a list +of Inline elements (el.content) and returns a list of +Inline elements.

+
local function make_dropcap(els)
+  if els[1] and els[1].t == 'Str' then  -- arrays start at 1!
+    local first_letter, rest = els[1].text:match('(%a)(.*)')
+    if FORMAT == 'latex' then
+      els[1] = pandoc.RawInline('latex',
+                 '\\lettrine{' ..  first_letter ..
+                 '}{' .. rest .. '}')
+    elseif FORMAT:match('html') then
+      els[1] = pandoc.Span({
+                   pandoc.Span(pandoc.Str(first_letter),
+                    {class='dropcap-first'}),
+                   pandoc.Span(pandoc.Str(rest),
+                {class='dropcap-rest'})})
+    end
+    return els
+  end
+end
+
+
+

Example: drop caps

+
% pandoc -L dropcap.lua -t latex -o dropcap.pdf
+% pandoc -L dropcap.lua -t html -s --css dropcap.css \
+    dropcap.md -o dropcap.html
+
+
+

Example: tikz diagrams

+

To get a tikz diagram, we could have a filter turn specially marked +code blocks into images.

+

In fact, there is already a very nice general diagram filter at +https://github.com/pandoc/lua-filters.

+
% cat diagram.md
+% pandoc diagram.md -L diagram-generator.lua -s \
+  --extract-media=media -o diagram.html
+% pandoc diagram.md -L diagram-generator.lua \
+  -o diagram.docx
+
+
+

Example: theorems

+

How to reproduce LaTeX theorem environments?

+

Markdown version:

+
::: {.theorem #pythagoras}
+#### Pythagoras's Theorem
+In a right triangle, the lengths of the two shorter sides
+$a$, $b$ and the longer side $c$ stand in the relation
+$$
+a^2 + b^2 = c^2.
+$$
+:::
+
+
+

Example: theorems

+
% cat theorem.lua
+% cat theorem.md
+% pandoc -L theorem.lua theorem.md -t latex
+% pandoc theorem.md -L theorem.lua -t plain
+% pandoc theorem.md -L theorem.lua -t rst
+% pandoc theorem.md -L theorem.lua -t html
+
+
+

The end

+
    +
  • For pandoc questions, come to pandoc-discuss on google groups: https://groups.google.com/g/pandoc-discuss
  • +
  • For bug reports, the tracker at https://github.com/jgm/pandoc
  • +
  • If you’d like to improve pandoc’s handling of LaTeX, we can always +use new contributors!
  • +
+

Questions?

+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 00000000000..a41a0a123cb Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html index de396921e6c..142610a410a 100644 --- a/index.html +++ b/index.html @@ -1,40 +1,1235 @@ - + + - - - reveal.js - - + StarComputer reveal.js + + + + + + - - - + +
+
-
Star Bilgisayar Teknoloji
-
(* Yıldız teknolojisi
+ Next +
+ +

Star Computer

+

+ The framework comes with a broad range of features including nested slides, Markdown support, Auto-Animate, PDF export, speaker notes, LaTeX support and syntax highlighted code. + Write to us to have a presentation prepared. You can display your ready presentation from anywhere you want on the special web address we will give you. +

+
+
+ + + +

The HTML Presentation Framework

+

+ Created by Hakim El Hattab and contributors +

+
+ +
+

Hello There

+

+ reveal.js enables you to create beautiful interactive slide decks using HTML. This presentation will show you examples of what it can do. +

+
+ +
+
+

Vertical Slides

+

Slides can be nested inside of each other.

+

Use the Space key to navigate through all slides.

+
+ + Down arrow + +
+
+

Basement Level 1

+

Nested slides are useful for adding additional detail underneath a high level horizontal slide.

+
+
+

Basement Level 2

+

That's it, time to go back up.

+
+ + Up arrow + +
+
+
+

Slides

+

+ Not a coder? Not a problem. There's a fully-featured visual editor for authoring these, try it out at https://slides.com. +

+
+
+

Hidden Slides

+

+ This slide is visible in the source, but hidden when the presentation is viewed. You can show all hidden slides by setting the `showHiddenSlides` config option to `true`. +

+
+
+

Pretty Code

+

+						import React, { useState } from 'react';
+
+						function Example() {
+						  const [count, setCount] = useState(0);
+						  return (
+						    ...
+						  );
+						}
+					
+

Code syntax highlighting courtesy of highlight.js.

+
+
+

With animations

+
+
+
+

Point of View

+

+ Press ESC to enter the slide overview. +

+

+ Hold down the alt key (ctrl in Linux) and click on any element to zoom towards it using zoom.js. Click again to zoom back out. +

+

+ (NOTE: Use ctrl + click in Linux.) +

+
+
+

Auto-Animate

+

Automatically animate matching elements across slides with Auto-Animate.

+
+
+
+
+
+
+
+
+
+
+
+
+

Auto-Animate

+
+
+
+
+
+
+
+

Auto-Animate

+
+
+

Touch Optimized

+

+ Presentations look great on touch devices, like mobile phones and tablets. Simply swipe through your slides. +

+
+
+ +
+
+

Add the r-fit-text class to auto-size text

+

FIT TEXT

+
+
+
+

Fragments

+

Hit the next arrow...

+

... to step through ...

+

... a fragmented slide.

+ +
+
+

Fragment Styles

+

There's different types of fragments, like:

+

grow

+

shrink

+

fade-out

+

+ fade-right, + up, + down, + left +

+

fade-in-then-out

+

fade-in-then-semi-out

+

Highlight red blue green

+
+
+
+

Transition Styles

+

+ You can select from different transitions, like:
+ None - + Fade - + Slide - + Convex - + Concave - + Zoom +

+
+
+

Themes

+

+ reveal.js comes with a few themes built in:
+ + Black (default) - + White - + League - + Sky - + Beige - + Simple
+ Serif - + Blood - + Night - + Moon - + Solarized +

+
+
+
+

Slide Backgrounds

+

+ Set data-background="#dddddd" on a slide to change the background color. All CSS color formats are supported. +

+ + Down arrow + +
+
+

Gradient Backgrounds

+
<section data-background-gradient=
+							"linear-gradient(to bottom, #ddd, #191919)">
+
+
+

Image Backgrounds

+
<section data-background="image.png">
+
+
+

Tiled Backgrounds

+
<section data-background="image.png" data-background-repeat="repeat" data-background-size="100px">
+
+
+
+

Video Backgrounds

+
<section data-background-video="video.mp4,video.webm">
+
+
+
+

... and GIFs!

+
+
+
+

Background Transitions

+

+ Different background transitions are available via the backgroundTransition option. This one's called "zoom". +

+
Reveal.configure({ backgroundTransition: 'zoom' })
+
+
+

Background Transitions

+

+ You can override background transitions per-slide. +

+
<section data-background-transition="zoom">
+
+
+
+

Iframe Backgrounds

+

Since reveal.js runs on the web, you can easily embed other web content. Try interacting with the page in the background.

+
+
+
+

Marvelous List

+
    +
  • No order here
  • +
  • Or here
  • +
  • Or here
  • +
  • Or here
  • +
+
+
+

Fantastic Ordered List

+
    +
  1. One is smaller than...
  2. +
  3. Two is smaller than...
  4. +
  5. Three!
  6. +
+
+
+

Tabular Tables

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ItemValueQuantity
Apples$17
Lemonade$218
Bread$32
+
+
+

Clever Quotes

+

+ These guys come in two forms, inline: The nice thing about standards is that there are so many to choose from and block: +

+
+ “For years there has been a theory that millions of monkeys typing at random on millions of typewriters would + reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.” +
+
+
+

Intergalactic Interconnections

+

+ You can link between slides internally, + like this. +

+
+
+

Speaker View

+

There's a speaker view. It includes a timer, preview of the upcoming slide as well as your speaker notes.

+

Press the S key to try it out.

+ + +
+
+

Export to PDF

+

Presentations can be exported to PDF, here's an example:

+ +
+
+

Global State

+

+ Set data-state="something" on a slide and "something" + will be added as a class to the document element when the slide is open. This lets you + apply broader style changes, like switching the page background. +

+
+
+

State Events

+

+ Additionally custom events can be triggered on a per slide basis by binding to the data-state name. +

+

+Reveal.on( 'customevent', function() {
+	console.log( '"customevent" has fired' );
+} );
+					
+
+ +
+

Take a Moment

+

+ Press B or . on your keyboard to pause the presentation. This is helpful when you're on stage and want to take distracting slides off the screen. +

+
+
+

PANDOC

+ +

pandoc -s --mathjax -i -t revealjs SLIDES -o example16d.html

+ - Pandoc Demo Sites
+
+
+

Much more

+ +
+
+

THE END

+

+ - Try the online editor
+ - Source code & documentation +

+

+ - Support: starcomputer@outlook.com.tr
+ - Blog sayfanız burada hazırlanır +

+
- + + + + + + + + + Untitled + + + + + + + + + +
+
+ + +
+ +

title: Pandoc for TeXnicians author: John MacFarlane date: TUG 2020, +2020-07-26 theme: solarized header-includes: | ...

+
+
+
+

Overview

+ +
+
+

+
    +
  • What is pandoc?
  • +
  • Using pandoc to convert to and from LaTeX
  • +
  • Why write in Markdown?
  • +
  • Overcoming Markdown's limitations
  • +
+
+
+
+

What is pandoc?

+ +
+
+

+

https://pandoc.org

+
+
+

Let's take it for a spin

+
% cat simple.tex
+\section{On $e=mc^2$}\label{einstein}
+
% pandoc -f latex -t native simple.tex
+% pandoc -f latex -t html simple.tex
+% pandoc -t html --mathml simple.tex
+% pandoc -t html --mathjax simple.tex
+% pandoc -t -html --mathjax -s simple.tex
+% pandoc -t ms simple.tex
+% pandoc -t gfm simple.tex
+% pandoc -t context simple.tex
+% pandoc -t jats simple.tex
+
+
+

Some math

+

Let's try with a sample TeX document by Professor A.J. Roberts at the +University of Adelaide (CC licensed).

+

http://www.maths.adelaide.edu.au/anthony.roberts/LaTeX/Src/maths.tex

+
+
+

Some math

+
% pandoc maths.tex -o maths.docx
+
+

Two problems:

+
    +
  • the use of a low-level TeX primitive \mathcode.
  • +
  • the use of \parbox (line 288)
  • +
+

Fix by removing the \mathcode stuff and redefining the +\parmath macro as a no-op:

+
\newcommand{\parmath}[2][]{#2}
+
+
+
+

Take two

+
% pandoc maths.tex --number-sections -o maths.docx
+% open maths.docx
+
    +
  • AMS theorem environments come out right, including references.
  • +
  • Math is translated into native Word equation objects, which can be +edited and which match the font, rather than images.
  • +
  • Still missing: equation numbers.
  • +
+
+
+

Going the other way

+
% pandoc maths.docx -o newmaths.tex -s
+% xelatex newmaths
+% xelatex newmaths
+
+
+

Converting to HTML

+
% pandoc maths.tex -s -o maths.html --mathml \
+  --number-sections --toc
+% open maths.html
+
+
+

Comparison with latex2rtf

+
% latex2rtf maths.tex
+% open -a "Microsoft Word" maths.rtf
+
    +
  • References not resolved in Section 1
  • +
  • Accents in Section 2 not above the letters, math generally ugly
  • +
  • Arrays in Section 8 totally broken; same with subequations in +Section 9
  • +
  • But at least we do get equation numbers in Section 9
  • +
+
+
+

Comparison with tex4ht

+
% make4ht maths
+% open maths.html
+
    +
  • Theorem environments not handled in Section 1 (except for +one?).
  • +
  • Missing accents in Section 2.
  • +
  • Ugly equations that incorporate both text and images in different +fonts.
  • +
+
+
+

Comparison with Word from PDF

+
% pdflatex maths
+% pdflatex maths
+% open -a "Microsoft Word" maths.pdf
+
    +
  • Section 2, accents messed up.
  • +
  • Some formulas are rendered with images, others with regular +characters, in non-matching font.
  • +
  • The 'where' in Section 6 is badly mispleacd.
  • +
  • The integral is missing in Section 7
  • +
  • The diagonal ellipses are missing in the arrays
  • +
+
+
+

Pandoc can interpret TeX macros

+
% cat macros.tex
+\newcommand{\nec}{\Box}
+\newcommand{\if}[2]{#1 \rightarrow #2}
+\newenvironment{warning}%
+ {\begin{quote}\textbf{WARNING!}}%
+ {\end{quote}}
+
+$\if{\nec \phi}{\phi}$
+\begin{warning}
+Don't try this at home.
+\end{warning}
+
% pandoc macros.tex -t html
+
+
+

Pandoc can resolve bibtex citations

+

With the help of the pandoc-citeproc filter (included in +the released binaries).

+
% pandoc --filter pandoc-citeproc bib.tex \
+  -t plain --csl ieee.csl
+
+
+

Limitations

+

Pandoc is far from being able to convert arbitrary tex files with +high accuracy.

+

Let's try with a real-world example I got at random from arxiv.

+
% cd arxiv.2007.07694v1
+% pandoc arxiv.tex -o arxiv.docx
+
+
+
+

An alternative

+ +
+
+

An alternative

+

So you can't just write in LaTeX and expect to convert at the last +minute to docx (for a publisher) or epub (for your students) or HTML +(for your website).

+

An alternative: write your document in pandoc's extended version of +Markdown, which pandoc can convert with complete accuracy to any of its +output formats.

+
+
+

What is Markdown?

+

Markdown is a set of conventions for indicating document formatting +in plain text, mostly inherited from the pre-internet days of bulletin +boards and email.

+

It was designed in 2004 by John Gruber with help from Aaron Schwartz, +and it is currently much used by programmers, and on forums like +stackoverflow and reddit, and by data scientists via Jupyter notebooks +and RMarkdown.

+

https://daringfireball.net/projects/markdown/

+
+
+

Appealing things about Markdown

+

The source text is readable as it is. When writing and revising, you +don't have to parse through command-words which aren't part of the +content.

+
+

If you're writing in a language other than English, you don't have to +have English words sprinkled in the text.

+
+
+

There's no boilerplate at the beginning. The document just starts +with the text.

+
+
+
+

Real separation of content from formatting.

+

\vspace{1em}

+
+

The paucity of means is the greatest virtue of markdown and pandoc +markdown.

+

It is strangely difficult to get people to see the point, but the +defects of LaTeX for concentration, writing and thought, are at least as +great as those of Word, for the simple reason that it gives the writer +too much power; there is always another package to call in the preamble, +as there is always another drop down menu in Word. ...

+

In markdown - not to put too fine a point on it - the writer is only +ever faced with one question, and it is the right one: what the next +sentence should be.

+

--- Michael Thompson, pandoc-discuss mailing list

+
+
+
+

Appealing things about Markdown

+

Using Markdown makes it possible to collaborate with others who don't +know LaTeX.

+
+
+

Appealing things about Markdown

+

Markdown can be converted with complete, reliable accuracy into many +different formats.

+

It's often not enough just to produce a PDF.

+
    +
  • JATS for publication or archiving
  • +
  • EPUB for convenient reading on mobile devices
  • +
  • Docx or ICML for a publisher
  • +
  • HTML for a website (or accessibility)
  • +
  • Jupyter notebook for research
  • +
  • Beamer or reveal.js slides for presentation
  • +
+

TeX is a great assembly language for publication-quality +documents.

+
+
+

Limitations of Markdown

+

John Gruber's original markdown syntax lacks support for:

+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
+
+
+

Limitations of Markdown

+

We couldn't live without these things in academic writing.

+

And we definitely couldn't live without

+
    +
  • +
  • +
+

How can we overcome these limitations?

+
+
+
+

Overcoming Markdown's limitations

+ +
+
+

Pandoc's extended Markdown syntax

+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
+
+
+

+

Pandoc also understands LaTeX macro definitions, which you can use +for math (no matter what the output format).

+
+
+

+

Labels and cross-references are still a work in progress, but you can +get good support for them using an external filter, +pandoc-crossref, by pandoc contributor Nikolay Yakimov.

+
+
+

+

You can use the --citeproc filter to resolve citations +in this syntax:

+
Blah blah [@putnam:empirical, p. 33; see also
+@dummett:empirical].
+

Change the style by specifying a CSL stylesheet. (You can even change +between author-date, numerical, and footnote sytles with no +modifications to the source.)

+

You can use your existing bibtex or biblatex bibliography file, or a +CSL JSON bibliography such as can be produced by Zotero.

+
+
+

+

LaTeX macros allow you to define new constructions that exactly fit +what you're writing about. Can we recover this flexibility?

+
+
+

Raw TeX in Markdown

+

One approach is to just include bits of raw TeX in your markdown +file. Pandoc allows that.

+
    +
  • There is a special syntax for indicating chunks of raw TeX, but +pandoc will also recognize obvious bits of raw TeX and pass them through +as such.

  • +
  • The raw TeX chunks will be passed on unchanged if the output +format is latex, beamer, or +context, and otherwise simply omitted.

  • +
+
+
+

+
% cat raw.md
+% pandoc raw.md -o raw.pdf
+% open raw.pdf
+

But:

+
% pandoc raw.md -s -o raw.html
+% open raw.html
+
+
+

+

Drawbacks:

+
    +
  • With this approach you lose the ability to target multiple +formats.
  • +
  • Your source is now an ugly mix of Markdown and TeX, compromising +readability.
  • +
+
+
+

A better approach

+
    +
  1. Adopt the convention that a certain thing representable in +pandoc's markdown should be interpreted as, say, a dropped capital +letter.

  2. +
  3. Write a filter that does the interpretation.

  4. +
+
+
+

Example: drop caps

+

In LaTeX we can use the lettrine package to get dropped +capitals at the beginning of chapters:

+
\lettrine{T}{his} is a pulley
+

We will use a generic bracketed span with a class to represent this +in Markdown:

+
[This]{.dropcap} is a pulley.
+
+
+
+

Example: drop caps

+

Now we need a filter that replaces Span elements with +class dropcap in the Pandoc AST with something appropriate +for the output format.

+

{height=3in}

+
+
+

Two kinds of filters

+
    +
  • JSON filters operate on a serialized JSON +representation of the pandoc AST. They can be written in any language +that can consume and produce JSON.

  • +
  • Lua filters use a Lua interpreter and +environment built into pandoc. No external software need be installed, +and the filters are more efficient, because we don't need to serialize +and deserialize as JSON.

  • +
+

Documentation: https://pandoc.org/lua-filters.html

+
+
+

Example: drop caps

+

In a Lua filter we define functions that match different kinds of AST +elements. Here we want to match a Span. Create a file +dropcap.lua:

+
function Span(el)
+  -- do something with the Span (el)
+  -- return the transformed element or a new element
+end
+
+
+

Example: drop caps

+

We only want to do something if the Span has the class +dropcap and its contents begin with a Str element.

+
function Span(el)
+  if el.classes:includes('dropcap') then
+    return make_dropcap(el.content)
+  end
+end
+
+
+

Example: drop caps

+

Now we just have to define make_dropcap. It takes a list +of Inline elements (el.content) and returns a list of +Inline elements.

+

\small

+
local function make_dropcap(els)
+  if els[1] and els[1].t == 'Str' then  -- arrays start at 1!
+    local first_letter, rest = els[1].text:match('(%a)(.*)')
+    if FORMAT == 'latex' then
+      els[1] = pandoc.RawInline('latex',
+                 '\\lettrine{' ..  first_letter ..
+                 '}{' .. rest .. '}')
+    elseif FORMAT:match('html') then
+      els[1] = pandoc.Span({
+                   pandoc.Span(pandoc.Str(first_letter),
+                    {class='dropcap-first'}),
+                   pandoc.Span(pandoc.Str(rest),
+                {class='dropcap-rest'})})
+    end
+    return els
+  end
+end
+
+
+

Example: drop caps

+
% pandoc -L dropcap.lua -t latex -o dropcap.pdf
+% pandoc -L dropcap.lua -t html -s --css dropcap.css \
+    dropcap.md -o dropcap.html
+
+
+

Example: tikz diagrams

+

To get a tikz diagram, we could have a filter turn specially marked +code blocks into images.

+

In fact, there is already a very nice general diagram filter at https://github.com/pandoc/lua-filters.

+
% cat diagram.md
+% pandoc diagram.md -L diagram-generator.lua -s \
+  --extract-media=media -o diagram.html
+% pandoc diagram.md -L diagram-generator.lua \
+  -o diagram.docx
+
+
+

Example: theorems

+

How to reproduce LaTeX theorem environments?

+

Markdown version:

+
::: {.theorem #pythagoras}
+#### Pythagoras's Theorem
+In a right triangle, the lengths of the two shorter sides
+$a$, $b$ and the longer side $c$ stand in the relation
+$$
+a^2 + b^2 = c^2.
+$$
+:::
+
+
+

Example: theorems

+
% cat theorem.lua
+% cat theorem.md
+% pandoc -L theorem.lua theorem.md -t latex
+% pandoc theorem.md -L theorem.lua -t plain
+% pandoc theorem.md -L theorem.lua -t rst
+% pandoc theorem.md -L theorem.lua -t html
+
+
+

The end

+ +

Questions?

+
+
+
+ + + + + + + + + + + + diff --git a/package-lock.json b/package-lock.json index fc318a6324b..70da5f78fed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2833,10 +2833,11 @@ } }, "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -11905,9 +11906,9 @@ "dev": true }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "deep-is": {