Markdown is a lightweight markup language for adding formatting elements to plain text. IntelliJ IDEA recognizes Markdown files, provides a dedicated editor with highlighting, completion, and formatting, and shows the rendered HTML in a live preview pane.
- Using the Table menu set the desired size of the table. Enter the table data into the table: select and copy (Ctrl+C) a table from the spreadsheet (e.g. Google Docs, LibreOffice Calc, webpage) and paste it into our editor - click a cell and press Ctrl+V. Or just double click any cell to start editing it's contents - Tab and Arrow keys can be.
- Convert Word or Google documents to Markdown online. Step 1 Upload a.docx or.doc file. Drag-and-drop the file below to upload. File → Download as →.docx.
As mentioned earlier, the README.md file is created for your friends, colleagues, future employers and even to use as a reference to your future self. Basically any and everyone that you send to.
Create a new Markdown file
By default, IntelliJ IDEA recognizes any file with the .md or .markdown extension as a Markdown file.
Right-click a directory in the Project tool window Alt+1 and select New | File.
Alternatively, you can select the necessary directory, press Alt+Insert, and then select File.
Enter a name for your file with a recognized extension, for example: readme.md.
The Markdown editor provides several basic formatting actions in the toolbar:
: Bold
: Strikethrough
: Italic
: Code
: Decrease heading level
: Increase heading level
: Convert an inline link to a reference link
You can use the preview pane to see the rendered HTML.
There is also completion for links to files in the current project, for example, if you need to reference source code, images, or other Markdown files.
Code blocks
To insert a fenced code block, use triple backticks (```) before and after the code block. If you specify the language for the code block, by default, the Markdown editor injects the corresponding language. This enables syntax highlighting and other coding assistance features for the specified language: code completion, inspections, and intention actions.
Disable coding assistance in code blocks
If your code blocks are not meant to be syntactically correct, you may want to disable code injection and syntax errors in code blocks.
In the Settings/Preferences dialog Ctrl+Alt+S, select Languages & Frameworks | Markdown.
Configure the following options:
Disable automatic language injection in code fences Do not inject any coding assistance for code blocks. Hide errors in code fences Do not check the syntax for errors. Click OK to apply the changes.
Diagrams
The Markdown editor can render diagrams defined with Mermaid and PlantUML. This is disabled by default and requires the corresponding Markdown extensions.
Enable diagram support
In the Settings/Preferences dialog Ctrl+Alt+S, select Languages & Frameworks | Markdown.
Enable either Mermaid or PlantUML under Markdown Extensions.
After IntelliJ IDEA downloads the relevant extensions, click OK to apply the changes.
HTML preview
By default, the Markdown editor shows a preview pane next to it for rendered HTML code based on the Markdown file. You can use or in the top right corner of the Markdown editor to show only the editor or the preview pane.
The scrollbars in the editor and in the preview pane are synchronized, meaning that the location in the preview pane corresponds to the location in the source. To disable this, click in the top right corner of the Markdown editor.
To split the editor and preview pane horizontally (top and bottom) instead of the default vertical split, in the Settings/Preferences dialog Ctrl+Alt+S, select Languages & Frameworks | Markdown, and then select Split horizontally under Editor and Preview Panel Layout.
Custom CSS
IntelliJ IDEA provides default style sheets for rendering HTML in the preview pane. These style sheets were designed to be consistent with the default UI themes. You can configure specific CSS rules to make small presentation changes (for example, change the font size for headings or line spacing in lists) or you can provide an entirely new CSS to better match your expected output (for example, if you want to replicate the GitHub Markdown style).
In the Settings/Preferences dialog Ctrl+Alt+S, select Languages & Frameworks | Markdown.
Configure the settings under Custom CSS:
Select Load from URI to specify the location of a custom CSS file.
Select Add CSS rules rules to enter specific CSS rules that you want to override.
Reformat Markdown files
IntelliJ IDEA can format Markdown files with proper line wrappings, blank lines, and indentation. For more information, see Reformat and rearrange code.
From the main menu, select Code | Reformat Code or press Ctrl+Alt+L.
IntelliJ IDEA formats the contents according to the code style settings for Markdown files.
Configure Markdown code style settings
In the Settings/Preferences dialog Ctrl+Alt+S, select Editor | Code Style | Markdown.
Markdown code style settings include the following:
Configure the options for breaking lines.
Hard wrap at | Specify at which column to put a line break. IntelliJ IDEA shows a vertical line at the specified column and breaks lines between words, not within words. |
Wrap on typing | Add line breaks as you type. Disable this option to add line breaks only when IntelliJ IDEA performs formatting. |
Visual guides | Show an additional vertical line at the specified column. |
Configure the options for nesting text blocks and alignment within a block.
Use tab character | Use the tab character for indentation. Disable this option to use spaces for indentation. |
Smart tabs | Nest blocks with tabs and align with spaces. Disable this option to use only tabs and replace spaces that fit the specified tab size with tabs. |
Tab size | Specify the number of spaces to render in place of one tab character. |
Indent | Specify the number of spaces used for each indentation level. |
Continuation indent | Specify the number of spaces used for continuing the same text block. |
Keep indents on empty lines | Retain tabs and spaces on empty lines. By default, this option is disabled and IntelliJ IDEA removes tabs and spaces if there is nothing else on that line. |
Set the maximum and minimum number of blank lines to keep for various text elements.
Around header | Before and after chapter headings. |
Around block elements | Before and after code blocks. |
Between paragraphs | Between two adjacent paragraphs. |
Specify which elements should have exactly one space.
Between words | Remove extra spaces between words. |
After header symbol | Remove extra spaces or add a missing space between the header symbol and the header title. |
After list marker | Remove extra spaces or add a missing space between the list item marker and the list item text. |
After blockquote marker | Remove extra spaces or add a missing space between the block quote marker and the text of the block quote. |
Productivity tips
Customize highlighting for Markdown
IntelliJ IDEA highlights various Markdown elements according to the color scheme settings.
In the Settings/Preferences dialog Ctrl+Alt+S, select Editor | Color Scheme | Markdown.
Select the color scheme, accept the highlighting settings inherited from defaults, or customize them as described in Configuring colors and fonts.
Navigate in a large Markdown file
Use the Structure tool window Alt+7 or the File Structure popup Ctrl+F12 to view and jump to the relevant headings.
Markdown does not have dedicated syntax for commenting out lines. However, it is possible to emulate a comment line using a link label without an address, like this:
There must be a blank line before the link label.
Put the caret at the line that you want to comment out and press Ctrl+/.
This will add a link label with the commented out text in parentheses and a blank line before it if necessary. Press the same shortcut to uncomment.
This README was last updated on 27 February 2021.
Table of contents:
About
ClamTk is a frontend for ClamAV (Clam Antivirus). It is intended to be an easy to use, light-weight, on-demand scanner for Linux systems.
Although its earliest incarnations date to 2003, ClamTk was first uploaded for distribution in 2004 to a rootshell.be account and finally to Sourceforge.net in 2005. At the end of 2013, it was moved to a Google Code page, then to Github, Gitlab, and Bitbucket. It is now 2021 and for some reason development is still going. In fact, February 2021 marks 17 years of activity (of being publicly available, that is).
Plans
Version 7 will likely have a new design, and will almost certainly use a different language.
Important Links
ClamTk:
https://gitlab.com/dave_m/clamtk/
https://gitlab.com/dave_m/clamtk/wikis/home
https://github.com/dave-theunsub/clamtk/
https://launchpad.net/clamtk
https://code.google.com/p/clamtk/ (deprecated)
http://clamtk.sourceforge.net (deprecated)
https://dave-theunsub.github.io/clamtk/ (deprecated)
https://bitbucket.org/davem_/clamtk-gtk3/ (deprecated)
https://bitbucket.org/davem_/clamtk/ (deprecated)
ClamAV
Gtk2-Perl
Gtk3
Virustotal
Installation
RPMs
The easiest way to install ClamTk is to use the rpms. The commands dnf
and yum
will pull in requirements.
First, start with the official repositories.
sudo yum install clamtk
or sudo dnf install clamtk
.
If this does not work, download the file from the official site. You should be able to just double click the file for installation or upgrade.
For these examples, we will use version 6.06. The name of the file may differ based on your distribution.
To install using a terminal window:
sudo yum install clamtk-6.06-1.el8.noarch.rpm
or sudo dnf install clamtk-6.06-1.fc.noarch.rpm
To remove clamtk:
sudo yum erase clamtk
or sudo dnf erase clamtk
.
Source
Warning: Don't do this. It's much easier to just double click a .deb or .rpm. Really, put down the source.
The tarball contains all the sources. One way to do this, as tested on Fedora, is to run the following commands:
Examples:
or
- Note: If you have installed this program as an rpm or .deb, you do not need to take these steps.
- Note: Did you get errors with this? Check the TROUBLESHOOTING section at the end.
DEBs
You should be able to just double click the .deb file to install it. Your package manager should retrieve any necessary dependencies.
From the commandline, you can do this:
If you downloaded the file, then use this:
To remove clamtk:
Note that the Debian/Ubuntu builds are and always have been gpg-signed.
Integrity
It is recommended you install ClamTk from official repositories. Check your distribution first, and always install from trusted sources.
While the Debian/Ubuntu .debs have always been digitally signed, the rpms have not. Beginning with 5.22, you can once again check the rpm's signature to verify its integrity. Here's one way:
- Get and import the key in one step:
rpm --import https://davem.fedorapeople.org/RPM-GPG-KEY-DaveM-21-June-2018
- Verify the list of gpg keys installed in RPM DB:
rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}n'
- Check the signature of the rpm. For this example, we'll use version 6.06:
rpm --checksig clamtk-6.06-1.fc.noarch.rpm
- You should see something like this:
/home/you/clamtk-6.06-1.fc.noarch.rpm: rsa sha1 (md5) pgp md5 OK
You can also verify the tarball. Using 6.06 as the example version, ensure you have downloaded the tarball, its detached signature (.asc), and the key in step 1 above.
- Get the key (skip this step if you already have it):
wget https://davem.fedorapeople.org/RPM-GPG-KEY-DaveM-21-June-2018
- Import it (skip this step if you have done it already):
gpg --import RPM-GPG-KEY-DaveM-21-June-2018
- Verify like so:
gpg2 --verify clamtk-6.06.tar.xz.asc clamtk-6.06.tar.gz
orgpg --verify clamtk-6.06.tar.xz.asc clamtk-6.06.tar.xz
- You should see something like this:
gpg: Signature made Sun 11 Sep 2016 06:29:41 AM CDT using RSA key ID
(snipped for brevity).
You can now use minisign, too!
Minisign
First, you will need my public minisign key:
Public minisign key
Then, you will need the minisig file for the program you are verifying.
A link to it will be with the rest of the downloads.
For this example:
https://bitbucket.org/davem_/clamtk-gtk3/downloads/clamtk-6.06.tar.xz.minisig
Now, you verify like so:
Usage
Running ClamTk
- Beginning with version 4.23, ClamTk will automatically search for signatures if you do not have them set already. This way ClamTk should work right out of the box, with no prompting.
- Consider the extra scanning options in Settings.
- Select 'Scan files beginning with a dot (.*)' to scan those files beginning with a '.'. These are sometimes referred to as 'hidden' files.
- Select 'Scan directories recursively' to scan all files and directories within a directory.
- The 'Scan for PUAs' option enables the ability to scan for Potentially Unwanted Applications as well as broken executables. Note that this can result in what may be false positives.
- By default, ClamTk will avoid scanning files larger than 20MB. To force scanning of these files, check the 'Scan files larger than 20 MB' box.
- You can also check for updates upon startup. This requires an active Internet connection.
- Information on items quarantined is available under the 'Quarantine' option. If you believe there is a false positive contained, you can easily move it back to your home directory. You may also delete this file(s). Note that there is no recycle bin - once deleted, they are gone forever.
- Scan a file or directory by right-clicking on it within the file manager (e.g., Nautilus). This functionality requires an extra package (clamtk-gnome).
- You can STOP the scan by clicking the Cancel button. Note that due to the speed of the scanning, it may not stop immediately; it will continue scanning and displaying files it has already 'read' until the stop catches up.
- View previous scans by selecting 'History'.
- The Update Assistant is necessary because some systems are set up to do automatic updates, while others must manually update them.
- If you require specific proxy settings, select 'Network'.
- As of version 5.xx, you can use the 'Analysis' button to see if a particular file is considered malicious by other antivirus products. This uses results from Virustotal. If you desire, you can submit a file for further review. Please do not submit personal files.
- The 'Whitelist' option provides the ability to skip specific directories during scan time. For example, you may wish to skip directories containing music or videos.
Commandline
ClamTk can run from the commandline, too:
or
The main reason for the commandline option (however basic) is to allow for right-click scanning within your file manager (e.g., Files, Caja, or Dolphin). If you require more extensive commandline options, it is recommended that you use the clamscan executable itself. (Type man clamscan
at the commandline.)
Afterwards
You can view and delete scan logs by selecting the 'History' option.
You also have a few options with the files displayed. Click on the file scanned to select it, then right-click: you should have four options there.
- Quarantine this file: This drops the selected file into a 'quarantined' folder with the executable bit removed. The quarantine folder is held in the user's ClamTk folder (
~/.clamtk/viruses
). - Delete this file: Be careful: There is no recycle bin!
- Cancel: Cancels this menu.
Quarantine/Maintenance
If you've quarantined files for later examination, you have the option to restore them to their previous location (if known), or delete them.
Plugins
To add a right-click, context menu ability to send files and directories to the scanner, install the appropriate plugin. Links to the latest versions are available here:
https://gitlab.com/dave_m/clamtk/wikis/Downloads
Here are the specific pages:
For Gnome (Files file manager):
https://gitlab.com/dave_m/clamtk-gnome
For KDE (Dolphin file manager):
https://gitlab.com/dave_m/clamtk-kde
For XFCE (Thunar file manager):
https://gitlab.com/dave_m/thunar-sendto-clamtk
For Mate (Nemo file manager):
https://gitlab.com/dave_m/nemo-sendto-clamtk
Troubleshooting
Are your signatures up to date, but ClamTk says they're not?
You probably have more than one virus signature directory. See below answer for finding signatures.
If you are getting an error that ClamTk cannot find your signatures:
ClamTk is trying to find its virus definitions. Typically these are held under /var/lib/clamav or /var/clamav or ... If you are sure these files exist, please find their location and send it. Try the following to determine their location:
find /var -name 'daily.cvd' -print
find /var -name 'daily.cld' -print
Are you using the source and you see something like this: Can't locate Foo/Bar.pm in @INC... (etc, etc).
This means you are missing some of the dependencies. Try to find the dependency through your distribution's repositories, or simply go to CPAN. Always try your distribution's repository first. It is more than likely your distribution already packages these for easy installation. Depending on your distro, you will likely use
yum
,dnf
,apt
or some 'Update Manager' and the like.I can't right click on files/directories to scan anymore!
That's because we no longer bundle this functionality. Not everyone uses Gnome. There are add-ons for XFCE, KDE, Mate, and Gnome - they're small packages, easy to install, and contain that functionality.
Limitations/Bugs
Probably a lot. Let me know, please. Ranting on some bulletin board somewhere on one of dozens of Linux sites will not fix bugs or improve the program. See the section below for contact info.
Contributing
Locale/Internationalization
ClamTk has supported multiple languages for many years now. Have time on your hands and want to contribute? See the Launchpad page.
Note that some builds do not account for other than English languages because they have not yet updated their build/spec files. A polite email to the respective maintainer may fix this.
Other
As of version 3.10, ClamTk will not scan standard mail directories, such as .evolution, .mozilla or .thunderbird. This is due to parsing problems. If a smart way of doing that comes up, it will be added.
Also, please note that version numbers mean absolutely nothing. There is no rhyme or reason to odd or even numbers (i.e., an odd number does not mean 'unstable'). A new version means it goes up 1 (or, rather, .01).
GUI
ClamTk started out using the Tk libraries (thus its name). In 2005, this was changed to perl-Gtk2 (or Gtk2-perl, whatever). The Tk version is still available on sourceforge.net but has not been updated for some time now and should not be used.
The plan for the 5.xx series was to use Gtk3. Unfortunately, Debian and Ubuntu did not have a recent version of libgtk3-perl, and CentOS did not have perl-Gtk3. So, at the last second, the 5.00 version was rewritten to use Gtk2. Again.
Version 6.xx has been written to use Gtk3, as Gtk2 is deprecated. There's no new design this time, as this was an effort to ensure the Gtk3 version could be included in upcoming distribution releases (such as with Debian). The 6.xx series is in its own git repository (usually clamtk-gtk3), so that the older 5.xx series will still be there for distributions that do not have Gtk3.
Version 7.xx will likely have a new design, and may be written in a different language as well.
And there's also a Gtk4 in the works...
Thank you
Many people have contributed their time, energy, opinions, recommendations, and expertise to this software. I cannot thank them enough. Their names are listed in the credits file.
Also a big thank you to:
- Everyone who has contributed in one way or another to ClamTk - including language files, bug notifications, and feature requests
- Dag, without whom rpms would likely not exist
- All the gtk2-perl and gtk3-perl folks for their time and effort
Contact
For feature requests or bugs, it is best to use one of the following:
https://gitlab.com/dave_m/clamtk/issues
https://launchpad.net/clamtk
While we recommend opening an official bug on the appropriate page, we will also accept email.
Git Readme.md Online
- Dave M, dave.nerd @gmail.com 0xF51D19546ADA59DE
- Tord D, tord.dellsen @gmail.com