Вы здесь:

Описаны способы оформления кода на html странице в Joomla.

Только с помощью Joomla

В редакторе Joomla есть такая возможность:

joomla_menu

Вставится пара: <pre class="language-java"><code>
Выглядит так:

public class CompanyCritery {
    private String shortname = "";

    public String getShortname() {
        return shortname;
    }

    public void setShortname(String shortname) {
        this.shortname = shortname;
    }
}

Код не подсвечен, но выровнен и "мало-мало" выделен.


highlightjs

https://highlightjs.org/demo#lang=&v=1&theme=atom-one-dark

highlightjs


hilite.me

http://hilite.me/

Так выглядит страница инструмента для shell кода:

hilite.me

Так выглядит страница инструмента для java кода:

hilite.me

(Language: Java, Style: Borland, css: border:solid #092A8F;border-width:.1em .1em .1em .8em;padding:.2em .6em;) Так выглядит код на моем сайте:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package ru.perm.v.companies.critery;

import java.util.Objects;

public class CompanyCritery {
    private String shortname = "";

    public String getShortname() {
        return shortname;
    }

    public void setShortname(String shortname) {
        this.shortname = shortname;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof CompanyCritery)) return false;
        CompanyCritery that = (CompanyCritery) o;
        return Objects.equals(shortname, that.shortname);
    }

    @Override
    public int hashCode() {
        return Objects.hash(shortname);
    }
}
Какие-то косячки с цветом "package ru.perm...", "this.shortname...".

commontools.org

https://www.commontools.org/tool/soruce-code-highlighter-20

commontools.org

Пример для Java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package ru.perm.v.companies.service.impl;

import org.junit.jupiter.api.Test;
import ru.perm.v.companies.dto.CompanyDto;
import ru.perm.v.companies.dto.EmployeeDto;
import ru.perm.v.companies.entity.CompanyEntity;
import ru.perm.v.companies.entity.EmployeeEntity;
import ru.perm.v.companies.mappers.CompanyMapper;
import ru.perm.v.companies.repository.CompanyRepository;
import ru.perm.v.companies.service.CompanyService;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;

public class CompanyServiceImplTest {
    CompanyRepository companyRepository = mock(CompanyRepository.class);

    @Test
    public void getAll() {
        CompanyEntity company1 = new CompanyEntity(1);
        CompanyEntity company2 = new CompanyEntity(2);
        when(companyRepository.findAll()).thenReturn(List.of(company1, company2));
        CompanyService companyService = new CompanyServiceImpl(companyRepository);

        assertEquals(2, companyService.getAll().size());
    }
    ...
}

Пример для Kotlin (стиль tango):

package ru.perm.v.vacancy.dto

import javax.validation.constraints.Size

class CompanyDto {
    val n: Long

    @field:Size(min=5, max=50)
    val name: String

    constructor() {
        this.n = 0
        this.name = ""
    }

    constructor(n: Long, name: String) {
        this.n = n
        this.name = name
    }
    override fun toString(): String {
        return "CompanyDto(n=$n, name='$name')"
    }

    override fun equals(other: Any?): Boolean {
        if (this === other) return true
        if (other !is CompanyDto) return false

        if (n != other.n) return false
        if (name != other.name) return false

        return true
    }

    override fun hashCode(): Int {
        var result = n.hashCode()
        result = 31 * result + name.hashCode()
        return result
    }
}

Пример для Kotlin (стиль borland):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package ru.perm.v.vacancy.dto

import javax.validation.constraints.Size

class CompanyDto {
    val n: Long

    @field:Size(min=5, max=50)
    val name: String

    constructor() {
        this.n = 0
        this.name = ""
    }

    constructor(n: Long, name: String) {
        this.n = n
        this.name = name
    }
    override fun toString(): String {
        return "CompanyDto(n=$n, name='$name')"
    }

    override fun equals(other: Any?): Boolean {
        if (this === other) return true
        if (other !is CompanyDto) return false

        if (n != other.n) return false
        if (name != other.name) return false

        return true
    }

    override fun hashCode(): Int {
        var result = n.hashCode()
        result = 31 * result + name.hashCode()
        return result
    }
}
Пока, наилучший выбор.