2011-05-29 19:20:24 +02:00
|
|
|
@title Remarkup Reference
|
|
|
|
@group userguide
|
|
|
|
|
2011-07-04 22:04:22 +02:00
|
|
|
Explains how to make bold text; this makes your words louder so you can win
|
2011-06-23 22:04:52 +02:00
|
|
|
arguments.
|
2011-05-29 19:20:24 +02:00
|
|
|
|
|
|
|
= Overview =
|
|
|
|
|
|
|
|
Phabricator uses a lightweight markup language called "Remarkup", similar to
|
2013-02-02 00:48:24 +01:00
|
|
|
other lightweight markup languages like Markdown and Wiki markup.
|
2011-05-29 19:20:24 +02:00
|
|
|
|
|
|
|
This document describes how to format text using Remarkup.
|
|
|
|
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
= Quick Reference =
|
|
|
|
|
|
|
|
All the syntax is explained in more detail below, but this is a quick guide to
|
2012-01-16 20:45:43 +01:00
|
|
|
formatting text in Remarkup.
|
|
|
|
|
|
|
|
These are inline styles, and can be applied to most text:
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
|
2014-08-06 23:47:13 +02:00
|
|
|
**bold** //italic// `monospaced` ##monospaced## ~~deleted~~ __underlined__
|
2015-11-02 22:25:30 +01:00
|
|
|
!!highlighted!!
|
2012-02-18 04:39:13 +01:00
|
|
|
D123 T123 rX123 # Link to Objects
|
|
|
|
{D123} {T123} # Link to Objects (Full Name)
|
|
|
|
{F123} # Embed Images
|
2014-06-14 20:02:55 +02:00
|
|
|
{M123} # Embed Pholio Mock
|
|
|
|
@username # Mention a User
|
|
|
|
#project # Mention a Project
|
2012-02-18 04:39:13 +01:00
|
|
|
[[wiki page]] # Link to Phriction
|
|
|
|
[[wiki page | name]] # Named link to Phriction
|
|
|
|
http://xyz/ # Link to web
|
|
|
|
[[http://xyz/ | name]] # Named link to web
|
2013-05-09 03:12:28 +02:00
|
|
|
[name](http://xyz/) # Alternate Link
|
2012-01-16 20:45:43 +01:00
|
|
|
|
|
|
|
These are block styles, and must be separated from surrounding text by
|
|
|
|
empty lines:
|
|
|
|
|
2012-02-18 04:39:13 +01:00
|
|
|
= Large Header =
|
2013-05-07 19:07:37 +02:00
|
|
|
|
2012-01-16 20:45:43 +01:00
|
|
|
== Smaller Header ==
|
2013-05-07 19:07:37 +02:00
|
|
|
|
2014-07-25 06:58:46 +02:00
|
|
|
## This is a Header As Well
|
|
|
|
|
2013-05-07 19:07:37 +02:00
|
|
|
Also a Large Header
|
|
|
|
===================
|
|
|
|
|
|
|
|
Also a Smaller Header
|
|
|
|
---------------------
|
|
|
|
|
2012-01-16 20:45:43 +01:00
|
|
|
> Quoted Text
|
2013-05-07 19:07:37 +02:00
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
Use `- ` or `* ` for bulleted lists, and `# ` for numbered lists.
|
2011-12-01 18:48:27 +01:00
|
|
|
Use ``` or indent two spaces for code.
|
2012-01-04 03:08:58 +01:00
|
|
|
Use %%% for a literal block.
|
2012-10-17 22:18:39 +02:00
|
|
|
Use | ... | ... for tables.
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
= Basic Styling =
|
|
|
|
|
|
|
|
Format **basic text styles** like this:
|
|
|
|
|
|
|
|
**bold text**
|
|
|
|
//italic text//
|
2012-03-04 12:13:22 +01:00
|
|
|
`monospaced text`
|
2014-08-06 23:47:13 +02:00
|
|
|
##monospaced text##
|
2012-03-21 22:01:12 +01:00
|
|
|
~~deleted text~~
|
2014-01-17 22:11:26 +01:00
|
|
|
__underlined text__
|
2015-11-02 22:25:30 +01:00
|
|
|
!!highlighted text!!
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2014-08-06 23:47:13 +02:00
|
|
|
Those produce **bold text**, //italic text//, `monospaced text`, ##monospaced
|
2015-11-02 22:25:30 +01:00
|
|
|
text##, ~~deleted text~~, __underlined text__, and !!highlighted text!!
|
|
|
|
respectively.
|
2011-05-29 19:20:24 +02:00
|
|
|
|
|
|
|
= Layout =
|
|
|
|
|
|
|
|
Make **headers** like this:
|
|
|
|
|
|
|
|
= Large Header =
|
2012-01-16 20:45:43 +01:00
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
== Smaller Header ==
|
2012-01-16 20:45:43 +01:00
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
===== Very Small Header =====
|
|
|
|
|
2013-05-07 19:07:37 +02:00
|
|
|
Alternate Large Header
|
|
|
|
======================
|
|
|
|
|
|
|
|
Alternate Smaller Header
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
You can optionally omit the trailing `=` signs -- that is, these are the same:
|
2012-02-18 04:39:13 +01:00
|
|
|
|
|
|
|
== Smaller Header ==
|
|
|
|
|
|
|
|
== Smaller Header
|
|
|
|
|
2012-01-16 20:45:43 +01:00
|
|
|
This produces headers like the ones in this document. Make sure you have an
|
|
|
|
empty line before and after the header.
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2015-07-03 19:19:32 +02:00
|
|
|
Lists
|
|
|
|
=====
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
Make **lists** by beginning each item with a `-` or a `*`:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2011-08-03 17:17:53 +02:00
|
|
|
lang=text
|
2011-05-29 19:20:24 +02:00
|
|
|
- milk
|
|
|
|
- eggs
|
|
|
|
- bread
|
|
|
|
|
2011-12-01 18:48:27 +01:00
|
|
|
* duck
|
|
|
|
* duck
|
|
|
|
* goose
|
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
This produces a list like this:
|
|
|
|
|
|
|
|
- milk
|
|
|
|
- eggs
|
|
|
|
- bread
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
(Note that you need to put a space after the `-` or `*`.)
|
2011-12-01 18:48:27 +01:00
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
You can make numbered lists with a `#` instead of `-` or `*`:
|
2012-02-19 18:06:47 +01:00
|
|
|
|
|
|
|
# Articuno
|
|
|
|
# Zapdos
|
|
|
|
# Moltres
|
|
|
|
|
2015-07-03 19:19:32 +02:00
|
|
|
Numbered lists can also be started with `1.` or `1)`. If you use a number other
|
|
|
|
than `1`, the list will start at that number instead. For example, this:
|
|
|
|
|
|
|
|
```
|
|
|
|
200) OK
|
|
|
|
201) Created
|
|
|
|
202) Accepted
|
|
|
|
```
|
|
|
|
|
|
|
|
...produces this:
|
|
|
|
|
|
|
|
200) OK
|
|
|
|
201) Created
|
|
|
|
202) Accepted
|
|
|
|
|
2012-02-19 18:06:47 +01:00
|
|
|
You can also nest lists:
|
|
|
|
|
2012-02-22 19:06:52 +01:00
|
|
|
```- Body
|
|
|
|
- Head
|
|
|
|
- Arm
|
|
|
|
- Elbow
|
|
|
|
- Hand
|
|
|
|
# Thumb
|
|
|
|
# Index
|
|
|
|
# Middle
|
|
|
|
# Ring
|
|
|
|
# Pinkie
|
|
|
|
- Leg
|
|
|
|
- Knee
|
|
|
|
- Foot```
|
|
|
|
|
|
|
|
...which produces:
|
|
|
|
|
2012-02-19 18:06:47 +01:00
|
|
|
- Body
|
2012-02-22 19:06:52 +01:00
|
|
|
- Head
|
|
|
|
- Arm
|
|
|
|
- Elbow
|
|
|
|
- Hand
|
|
|
|
# Thumb
|
|
|
|
# Index
|
|
|
|
# Middle
|
|
|
|
# Ring
|
|
|
|
# Pinkie
|
|
|
|
- Leg
|
|
|
|
- Knee
|
|
|
|
- Foot
|
|
|
|
|
|
|
|
If you prefer, you can indent lists using multiple characters to show indent
|
|
|
|
depth, like this:
|
|
|
|
|
|
|
|
```- Tree
|
|
|
|
-- Branch
|
|
|
|
--- Twig```
|
|
|
|
|
|
|
|
As expected, this produces:
|
|
|
|
|
|
|
|
- Tree
|
|
|
|
-- Branch
|
|
|
|
--- Twig
|
2012-02-19 18:06:47 +01:00
|
|
|
|
2014-05-02 02:53:34 +02:00
|
|
|
You can add checkboxes to items by prefacing them with `[ ]` or `[X]`, like
|
|
|
|
this:
|
|
|
|
|
|
|
|
```
|
|
|
|
- [X] Preheat oven to 450 degrees.
|
|
|
|
- [ ] Zest 35 lemons.
|
|
|
|
```
|
|
|
|
|
|
|
|
When rendered, this produces:
|
|
|
|
|
|
|
|
- [X] Preheat oven to 450 degrees.
|
|
|
|
- [ ] Zest 35 lemons.
|
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
Make **code blocks** by indenting two spaces:
|
|
|
|
|
|
|
|
f(x, y);
|
|
|
|
|
2011-12-01 18:48:27 +01:00
|
|
|
You can also use three backticks to enclose the code block:
|
|
|
|
|
|
|
|
```f(x, y);
|
|
|
|
g(f);```
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
You can specify a language for syntax highlighting with `lang=xxx`:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2011-08-03 17:17:53 +02:00
|
|
|
lang=text
|
2011-05-29 19:20:24 +02:00
|
|
|
lang=html
|
|
|
|
<a href="#">...</a>
|
|
|
|
|
|
|
|
This will highlight the block using a highlighter for that language, if one is
|
|
|
|
available (in most cases, this means you need to configure Pygments):
|
|
|
|
|
|
|
|
lang=html
|
|
|
|
<a href="#">...</a>
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
You can also use a `COUNTEREXAMPLE` header to show that a block of code is
|
2011-05-29 19:20:24 +02:00
|
|
|
bad and shouldn't be copied:
|
|
|
|
|
2011-08-03 17:17:53 +02:00
|
|
|
lang=text
|
2011-05-29 19:20:24 +02:00
|
|
|
COUNTEREXAMPLE
|
|
|
|
function f() {
|
|
|
|
global $$variable_variable;
|
|
|
|
}
|
|
|
|
|
|
|
|
This produces a block like this:
|
|
|
|
|
|
|
|
COUNTEREXAMPLE
|
|
|
|
function f() {
|
|
|
|
global $$variable_variable;
|
|
|
|
}
|
|
|
|
|
2014-08-06 23:47:13 +02:00
|
|
|
You can use `lines=N` to limit the vertical size of a chunk of code, and
|
2014-08-06 23:18:32 +02:00
|
|
|
`name=some_name.ext` to give it a name. For example, this:
|
2012-01-16 19:07:21 +01:00
|
|
|
|
|
|
|
lang=text
|
|
|
|
lang=html, name=example.html, lines=12, counterexample
|
|
|
|
...
|
|
|
|
|
|
|
|
...produces this:
|
|
|
|
|
|
|
|
lang=html, name=example.html, lines=12, counterexample
|
|
|
|
<p>Apple</p>
|
|
|
|
<p>Apricot</p>
|
|
|
|
<p>Avocado</p>
|
|
|
|
<p>Banana</p>
|
|
|
|
<p>Bilberry</p>
|
|
|
|
<p>Blackberry</p>
|
|
|
|
<p>Blackcurrant</p>
|
|
|
|
<p>Blueberry</p>
|
|
|
|
<p>Currant</p>
|
|
|
|
<p>Cherry</p>
|
|
|
|
<p>Cherimoya</p>
|
|
|
|
<p>Clementine</p>
|
|
|
|
<p>Date</p>
|
|
|
|
<p>Damson</p>
|
|
|
|
<p>Durian</p>
|
|
|
|
<p>Eggplant</p>
|
|
|
|
<p>Elderberry</p>
|
|
|
|
<p>Feijoa</p>
|
|
|
|
<p>Gooseberry</p>
|
|
|
|
<p>Grape</p>
|
|
|
|
<p>Grapefruit</p>
|
|
|
|
<p>Guava</p>
|
|
|
|
<p>Huckleberry</p>
|
|
|
|
<p>Jackfruit</p>
|
|
|
|
<p>Jambul</p>
|
|
|
|
<p>Kiwi fruit</p>
|
|
|
|
<p>Kumquat</p>
|
|
|
|
<p>Legume</p>
|
|
|
|
<p>Lemon</p>
|
|
|
|
<p>Lime</p>
|
|
|
|
<p>Lychee</p>
|
|
|
|
<p>Mandarine</p>
|
|
|
|
<p>Mango</p>
|
|
|
|
<p>Mangostine</p>
|
|
|
|
<p>Melon</p>
|
|
|
|
|
2015-03-03 03:17:41 +01:00
|
|
|
|
|
|
|
You can use the `NOTE:`, `WARNING:` or `IMPORTANT:` elements to call attention
|
|
|
|
to an important idea.
|
|
|
|
|
|
|
|
For example, write this:
|
|
|
|
|
|
|
|
```
|
|
|
|
NOTE: Best practices in proton pack operation include not crossing the streams.
|
|
|
|
```
|
|
|
|
|
|
|
|
...to produce this:
|
2011-12-01 18:48:27 +01:00
|
|
|
|
2014-01-24 02:35:30 +01:00
|
|
|
NOTE: Best practices in proton pack operation include not crossing the streams.
|
|
|
|
|
2015-03-03 03:17:41 +01:00
|
|
|
Using `WARNING:` or `IMPORTANT:` at the beginning of the line changes the
|
|
|
|
color of the callout:
|
|
|
|
|
2014-01-24 02:35:30 +01:00
|
|
|
WARNING: Crossing the streams can result in total protonic reversal!
|
|
|
|
|
|
|
|
IMPORTANT: Don't cross the streams!
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
In addition, you can use `(NOTE)`, `(WARNING)`, or `(IMPORTANT)` to get the
|
|
|
|
same effect but without `(NOTE)`, `(WARNING)`, or `(IMPORTANT)` appearing in
|
2015-03-03 03:17:41 +01:00
|
|
|
the rendered result. For example, this callout uses `(NOTE)`:
|
2014-01-24 02:35:30 +01:00
|
|
|
|
|
|
|
(NOTE) Dr. Egon Spengler is the best resource for additional proton pack
|
|
|
|
questions.
|
2011-12-01 18:48:27 +01:00
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
= Linking URIs =
|
|
|
|
|
|
|
|
URIs are automatically linked: http://phabricator.org/
|
|
|
|
|
|
|
|
If you have a URI with problematic characters in it, like
|
2014-08-06 23:47:13 +02:00
|
|
|
"`http://comma.org/,`", you can surround it with angle brackets:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
|
|
|
<http://comma.org/,>
|
|
|
|
|
|
|
|
This will force the parser to consume the whole URI: <http://comma.org/,>
|
|
|
|
|
2012-02-18 04:39:13 +01:00
|
|
|
You can also use create named links, where you choose the displayed text. These
|
|
|
|
work within Phabricator or on the internet at large:
|
|
|
|
|
|
|
|
[[/herald/transcript/ | Herald Transcripts]]
|
|
|
|
[[http://www.boring-legal-documents.com/ | exciting legal documents]]
|
|
|
|
|
2013-05-09 03:12:28 +02:00
|
|
|
Markdown-style links are also supported:
|
|
|
|
|
|
|
|
[Toil](http://www.trouble.com)
|
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
= Linking to Objects =
|
|
|
|
|
2014-08-15 00:20:45 +02:00
|
|
|
You can link to Phabricator objects, such as Differential revisions, Diffusion
|
|
|
|
commits and Maniphest tasks, by mentioning the name of an object:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
|
|
|
D123 # Link to Differential revision D123
|
|
|
|
rX123 # Link to SVN commit 123 from the "X" repository
|
|
|
|
rXaf3192cd5 # Link to Git commit "af3192cd5..." from the "X" repository.
|
|
|
|
# You must specify at least 7 characters of the hash.
|
|
|
|
T123 # Link to Maniphest task T123
|
|
|
|
|
2011-05-31 19:23:31 +02:00
|
|
|
You can also link directly to a comment in Maniphest and Differential:
|
|
|
|
|
|
|
|
T123#4 # Link to comment #4 of T123
|
|
|
|
|
2014-08-15 00:20:45 +02:00
|
|
|
See the Phabricator configuraton setting `remarkup.ignored-object-names` to
|
|
|
|
modify this behavior.
|
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
= Embedding Objects
|
|
|
|
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
You can also generate full-name references to some objects by using braces:
|
|
|
|
|
|
|
|
{D123} # Link to Differential revision D123 with the full name
|
|
|
|
{T123} # Link to Maniphest task T123 with the full name
|
|
|
|
|
|
|
|
These references will also show when an object changes state (for instance, a
|
2013-03-14 19:52:20 +01:00
|
|
|
task or revision is closed). Some types of objects support rich embedding.
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
|
2014-06-14 20:02:55 +02:00
|
|
|
== Linking to Project Tags
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
Projects can be linked to with the use of a hashtag `#`. This works by default
|
2014-06-14 20:02:55 +02:00
|
|
|
using the name of the Project (lowercase, underscored). Additionally you
|
|
|
|
can set multiple additional hashtags by editing the Project details.
|
|
|
|
|
|
|
|
#qa, #quality_assurance
|
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
== Embedding Mocks (Pholio)
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
You can embed a Pholio mock by using braces to refer to it:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
{M123}
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
By default the first four images from the mock set are displayed. This behavior
|
|
|
|
can be overridden with the **image** option. With the **image** option you can
|
|
|
|
provide one or more image IDs to display.
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
You can set the image (or images) to display like this:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
{M123, image=12345}
|
|
|
|
{M123, image=12345 & 6789}
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
== Embedding Pastes
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
You can embed a Paste using braces:
|
|
|
|
|
|
|
|
{P123}
|
|
|
|
|
|
|
|
You can adjust the embed height with the `lines` option:
|
|
|
|
|
|
|
|
{P123, lines=15}
|
|
|
|
|
|
|
|
You can highlight specific lines with the `highlight` option:
|
|
|
|
|
|
|
|
{P123, highlight=15}
|
|
|
|
{P123, highlight="23-25, 31"}
|
|
|
|
|
|
|
|
== Embedding Images
|
|
|
|
|
|
|
|
You can embed an image or other file by using braces to refer to it:
|
|
|
|
|
|
|
|
{F123}
|
Provide a "reference-with-full-name" syntax for Remarkup
Summary:
Provide a {T123} syntax which pulls in the entire name of an object, not just a
link to it. A major use for this is organizing projects using wiki pages. Since
handle links show object status now, this lets you organize stuff in an ad-hoc
way and get a reasonable overview of it. We can make handles richer in the
future, too.
The performance on this isn't perfect (it adds some potential single gets) but I
think it's okay for now and I don't want to make remarkup engine even more
complex until the preprocess/postprocess stuff has had a chance to settle and
I'm more confident it works.
In Differential and Maniphest we'll also incorrectly cache the object
state/name, but that'll fix itself once I move the cache code to use
preprocess/postprocess correctly.
Test Plan:
- See https://secure.phabricator.com/file/view/PHID-FILE-5f9ca32407bec20899b9/
for an example.
- Generated and looked over the documentation.
Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran, hunterbridges
CC: skrul, aran, jungejason, epriestley
Differential Revision: 784
2011-08-05 17:50:26 +02:00
|
|
|
|
|
|
|
In most interfaces, you can drag-and-drop an image from your computer into the
|
|
|
|
text area to upload and reference it.
|
|
|
|
|
2012-02-24 00:47:41 +01:00
|
|
|
Some browsers (e.g. Chrome) support uploading an image data just by pasting them
|
|
|
|
from clipboard into the text area.
|
|
|
|
|
2012-01-16 19:07:21 +01:00
|
|
|
You can set file display options like this:
|
|
|
|
|
2014-05-01 16:18:29 +02:00
|
|
|
{F123, layout=left, float, size=full, alt="a duckling"}
|
2012-01-16 19:07:21 +01:00
|
|
|
|
|
|
|
Valid options are:
|
|
|
|
|
2012-03-23 23:32:07 +01:00
|
|
|
- **layout** left (default), center, right, inline, link (render a link
|
|
|
|
instead of a thumbnail for images)
|
2012-01-16 19:07:21 +01:00
|
|
|
- **float** If layout is set to left or right, the image will be floated so
|
|
|
|
text wraps around it.
|
|
|
|
- **size** thumb (default), full
|
2012-03-23 23:32:07 +01:00
|
|
|
- **name** with `layout=link` or for non-images, use this name for the link
|
|
|
|
text
|
2013-11-20 02:33:55 +01:00
|
|
|
- **width** Scale image to a specific width.
|
|
|
|
- **height** Scale image to a specific height.
|
2014-05-01 16:18:29 +02:00
|
|
|
- **alt** Provide alternate text for assistive technologies.
|
2012-01-16 19:07:21 +01:00
|
|
|
|
2013-03-14 19:52:20 +01:00
|
|
|
== Embedding Countdowns
|
|
|
|
|
|
|
|
You can embed a countdown by using braces:
|
|
|
|
|
|
|
|
{C123}
|
|
|
|
|
|
|
|
= Quoting Text =
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
To quote text, preface it with an `>`:
|
2013-03-14 19:52:20 +01:00
|
|
|
|
|
|
|
> This is quoted text.
|
|
|
|
|
|
|
|
This appears like this:
|
|
|
|
|
|
|
|
> This is quoted text.
|
|
|
|
|
2011-05-29 19:20:24 +02:00
|
|
|
= Embedding Media =
|
|
|
|
|
2012-11-07 23:31:43 +01:00
|
|
|
If you set a configuration flag, you can embed media directly in text:
|
2011-05-29 19:20:24 +02:00
|
|
|
|
|
|
|
- **remarkup.enable-embedded-youtube**: allows you to paste in YouTube videos
|
|
|
|
and have them render inline.
|
|
|
|
|
2012-11-07 23:31:43 +01:00
|
|
|
This option is disabled by default because it has security and/or
|
2014-08-15 00:20:45 +02:00
|
|
|
silliness implications. Carefully read the description before enabling it.
|
2011-06-12 01:23:57 +02:00
|
|
|
|
|
|
|
= Image Macros =
|
|
|
|
|
2012-10-12 23:08:43 +02:00
|
|
|
You can upload image macros (More Stuff -> Macro) which will replace text
|
2011-06-12 01:23:57 +02:00
|
|
|
strings with the image you specify. For instance, you could upload an image of a
|
|
|
|
dancing banana to create a macro named "peanutbutterjellytime", and then any
|
2012-04-30 20:45:51 +02:00
|
|
|
time you type that string on a separate line it will be replaced with the image
|
|
|
|
of a dancing banana.
|
2011-06-24 21:01:19 +02:00
|
|
|
|
2013-04-10 22:09:25 +02:00
|
|
|
= Memes =
|
|
|
|
|
|
|
|
You can also use image macros in the context of memes. For example, if you
|
2014-10-17 00:50:55 +02:00
|
|
|
have an image macro named `grumpy`, you can create a meme by doing the
|
2013-04-10 22:09:25 +02:00
|
|
|
following:
|
|
|
|
|
|
|
|
{meme, src = grumpy, above = toptextgoeshere, below = bottomtextgoeshere}
|
|
|
|
|
|
|
|
By default, the font used to create the text for the meme is `tuffy.ttf`. For
|
|
|
|
the more authentic feel of `impact.ttf`, you simply have to place the Impact
|
|
|
|
TrueType font in the Phabricator subfolder `/resources/font/`. If Remarkup
|
|
|
|
detects the presence of `impact.ttf`, it will automatically use it.
|
|
|
|
|
2011-06-24 21:01:19 +02:00
|
|
|
= Mentioning Users =
|
|
|
|
|
|
|
|
In Differential and Maniphest, you can mention another user by writing:
|
|
|
|
|
|
|
|
@username
|
|
|
|
|
|
|
|
When you submit your comment, this will add them as a CC on the revision or task
|
2011-07-12 17:28:07 +02:00
|
|
|
if they aren't already CC'd.
|
|
|
|
|
2014-06-25 06:56:34 +02:00
|
|
|
Icons
|
|
|
|
=====
|
|
|
|
|
|
|
|
You can add icons to comments using the `{icon ...}` syntax. For example:
|
|
|
|
|
|
|
|
{icon camera}
|
|
|
|
|
|
|
|
This renders: {icon camera}
|
|
|
|
|
|
|
|
You can select a color for icons:
|
|
|
|
|
|
|
|
{icon camera color=blue}
|
|
|
|
|
|
|
|
This renders: {icon camera color=blue}
|
|
|
|
|
|
|
|
For a list of available icons and colors, check the UIExamples application.
|
|
|
|
(The icons are sourced from
|
|
|
|
[[ http://fortawesome.github.io/Font-Awesome/ | FontAwesome ]], so you can also
|
|
|
|
browse the collection there.)
|
|
|
|
|
2015-10-30 17:02:19 +01:00
|
|
|
You can add `spin` to make the icon spin:
|
|
|
|
|
|
|
|
{icon cog spin}
|
|
|
|
|
|
|
|
This renders: {icon cog spin}
|
|
|
|
|
2014-08-26 21:14:28 +02:00
|
|
|
|
2011-07-12 17:28:07 +02:00
|
|
|
= Phriction Documents =
|
|
|
|
|
|
|
|
You can link to Phriction documents with a name or path:
|
|
|
|
|
Require double brackets for Phriction links
Summary:
Single brackets are getting some troublesome false positives in Facebook's
install. Particularly, there's a weird convention at Facebook of tagging diffs
by putting stuff like "[perf]" or "[chat]" in the title, although this isn't
turned into structured data at any stage. When commits appear in Diffusion, we
currently link such ad-hoc tags to Phriction.
Wikipedia uses double-bracket sytnax, as do many other wikis, so this seems like
a reasonable burden to place on the lightweightness of the markup. The
alternative is selectively disabling Phriction markup in some interfaces, but
I'd rather allow integration in commit messages and just guard the syntax more
closely.
(I'm not providing any sort of migration plan since this landed less than a week
ago and I'm pretty confident no one has built a huge wiki yet, but I added a
CHANGELOG note.)
Test Plan: Edited a wiki document and added some links. Verified single brackets
were unlinked and double brackets were linked.
Reviewed By: jungejason
Reviewers: hsb, aran, jungejason, tuomaspelkonen
CC: aran, jungejason, epriestley
Differential Revision: 689
2011-07-18 17:52:40 +02:00
|
|
|
Make sure you sign and date your [[legal/Letter of Marque and Reprisal]]!
|
2011-07-12 17:28:07 +02:00
|
|
|
|
2014-08-06 23:47:13 +02:00
|
|
|
With a pipe (`|`), you can retitle the link. Use this to mislead your
|
2011-07-12 17:28:07 +02:00
|
|
|
opponents:
|
|
|
|
|
Require double brackets for Phriction links
Summary:
Single brackets are getting some troublesome false positives in Facebook's
install. Particularly, there's a weird convention at Facebook of tagging diffs
by putting stuff like "[perf]" or "[chat]" in the title, although this isn't
turned into structured data at any stage. When commits appear in Diffusion, we
currently link such ad-hoc tags to Phriction.
Wikipedia uses double-bracket sytnax, as do many other wikis, so this seems like
a reasonable burden to place on the lightweightness of the markup. The
alternative is selectively disabling Phriction markup in some interfaces, but
I'd rather allow integration in commit messages and just guard the syntax more
closely.
(I'm not providing any sort of migration plan since this landed less than a week
ago and I'm pretty confident no one has built a huge wiki yet, but I added a
CHANGELOG note.)
Test Plan: Edited a wiki document and added some links. Verified single brackets
were unlinked and double brackets were linked.
Reviewed By: jungejason
Reviewers: hsb, aran, jungejason, tuomaspelkonen
CC: aran, jungejason, epriestley
Differential Revision: 689
2011-07-18 17:52:40 +02:00
|
|
|
Check out these [[legal/boring_documents/ | exciting legal documents]]!
|
2011-08-31 22:42:52 +02:00
|
|
|
|
2012-01-04 03:08:58 +01:00
|
|
|
= Literal Blocks =
|
|
|
|
|
2014-10-17 00:50:55 +02:00
|
|
|
To place text in a literal block use `%%%`:
|
2012-01-04 03:08:58 +01:00
|
|
|
|
|
|
|
%%%Text that won't be processed by remarkup
|
|
|
|
[[http://www.example.com | example]]
|
|
|
|
%%%
|
|
|
|
|
|
|
|
Remarkup will not process the text inside of literal blocks (other than to
|
2012-06-11 19:23:48 +02:00
|
|
|
escape HTML and preserve line breaks).
|
2012-07-02 23:44:38 +02:00
|
|
|
|
|
|
|
= Tables =
|
|
|
|
|
2012-10-17 22:18:39 +02:00
|
|
|
Remarkup supports simple table syntax. For example, this:
|
|
|
|
|
|
|
|
| Fruit | Color | Price | Peel?
|
|
|
|
| ----- | ----- | ----- | -----
|
|
|
|
| Apple | red | `$0.93` | no
|
|
|
|
| Banana | yellow | `$0.19` | **YES**
|
|
|
|
|
|
|
|
...produces this:
|
|
|
|
|
|
|
|
| Fruit | Color | Price | Peel?
|
|
|
|
| ----- | ----- | ----- | -----
|
|
|
|
| Apple | red | `$0.93` | no
|
|
|
|
| Banana | yellow | `$0.19` | **YES**
|
|
|
|
|
|
|
|
Remarkup also supports a simplified HTML table syntax. For example, this:
|
2012-07-02 23:44:38 +02:00
|
|
|
|
|
|
|
<table>
|
|
|
|
<tr>
|
|
|
|
<th>Fruit</th>
|
|
|
|
<th>Color</th>
|
|
|
|
<th>Price</th>
|
|
|
|
<th>Peel?</th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Apple</td>
|
|
|
|
<td>red</td>
|
|
|
|
<td>`$0.93`</td>
|
|
|
|
<td>no</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Banana</td>
|
|
|
|
<td>yellow</td>
|
|
|
|
<td>`$0.19`</td>
|
|
|
|
<td>**YES**</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
...produces this:
|
|
|
|
|
|
|
|
<table>
|
|
|
|
<tr>
|
|
|
|
<th>Fruit</th>
|
|
|
|
<th>Color</th>
|
|
|
|
<th>Price</th>
|
|
|
|
<th>Peel?</th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Apple</td>
|
|
|
|
<td>red</td>
|
|
|
|
<td>`$0.93`</td>
|
|
|
|
<td>no</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Banana</td>
|
|
|
|
<td>yellow</td>
|
|
|
|
<td>`$0.19`</td>
|
|
|
|
<td>**YES**</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
Some general notes about this syntax:
|
|
|
|
|
|
|
|
- your tags must all be properly balanced;
|
|
|
|
- your tags must NOT include attributes (`<td>` is OK, `<td style="...">` is
|
|
|
|
not);
|
|
|
|
- you can use other Remarkup rules (like **bold**, //italics//, etc.) inside
|
|
|
|
table cells.
|
2013-04-20 04:50:21 +02:00
|
|
|
|
2014-08-26 21:14:28 +02:00
|
|
|
Navigation Sequences
|
|
|
|
====================
|
|
|
|
|
|
|
|
You can use `{nav ...}` to render a stylized navigation sequence when helping
|
|
|
|
someone to locate something. This can be useful when writing documentation.
|
|
|
|
For example, you could give someone directions to purchase lemons:
|
|
|
|
|
|
|
|
{nav icon=home, name=Home >
|
|
|
|
Grocery Store >
|
|
|
|
Produce Section >
|
|
|
|
icon=lemon-o, name=Lemons}
|
|
|
|
|
|
|
|
To render this example, use this markup:
|
|
|
|
|
|
|
|
```
|
|
|
|
{nav icon=home, name=Home >
|
|
|
|
Grocery Store >
|
|
|
|
Produce Section >
|
|
|
|
icon=lemon-o, name=Lemons}
|
|
|
|
```
|
|
|
|
|
|
|
|
In general:
|
|
|
|
|
|
|
|
- Separate sections with `>`.
|
|
|
|
- Each section can just have a name to add an element to the navigation
|
|
|
|
sequence, or a list of key-value pairs.
|
|
|
|
- Supported keys are `icon`, `name`, `type` and `href`.
|
|
|
|
- The `type` option can be set to `instructions` to indicate that an element
|
|
|
|
is asking the user to make a choice or follow specific instructions.
|
|
|
|
|
2013-08-30 00:59:15 +02:00
|
|
|
= Fullscreen Mode =
|
2013-04-20 04:50:21 +02:00
|
|
|
|
2014-07-10 00:12:48 +02:00
|
|
|
Remarkup editors provide a fullscreen composition mode. This can make it easier
|
2013-08-30 00:59:15 +02:00
|
|
|
to edit large blocks of text, or improve focus by removing distractions. You can
|
|
|
|
exit **Fullscreen** mode by clicking the button again or by pressing escape.
|