Giter VIP home page Giter VIP logo

djangocms-icon's Introduction

django CMS

Code Climate

Open source enterprise content management system based on the Django framework and backed by the non-profit django CMS Association (Sponsor us!).

Contribute to this project and win rewards

Because django CMS is a community-driven project, we welcome everyone to get involved in the project. Become part of a fantastic community and help us make django CMS the best open source CMS in the world.

Attention!

Please use the develop-4 branch as the target for pull requests for on-going development.

Security fixes will be backported to older branches by the core team as appropriate.

Features

  • hierarchical pages
  • extensive built-in support for multilingual websites
  • multi-site support
  • draft/publish workflows
  • version control
  • a sophisticated publishing architecture, that's also usable in your own applications
  • frontend content editing
  • a hierarchical content structure for nested plugins
  • an extensible navigation system that your own applications can hook into
  • SEO-friendly URLs
  • designed to integrate thoroughly into other applications

Developing applications that integrate with and take advantage of django CMS features is easy and well-documented.

More information on our website.

Requirements

See the Python/Django requirements for the current release version in our documentation.

See the installation how-to guide for an overview of some other requirements and dependencies of the current release.

Getting started

These tutorials take you step-by-step through some key aspects of django CMS.

Documentation

Our documentation working group maintains documentation for several versions of the project. Key versions are:

  • stable (default), for the current release version
  • latest, representing the latest build of the develop-4 branch

For more information about our branch policy, see Branches.

Our documentation is hosted courtesy of Read the Docs.

The dependencies for the docs are compiled by pip-tools.

Test django CMS in our demo

The demo platform is kindly provided by Divio, platinum member of the django CMS Association.

Try demo with Divio Cloud

Getting Help

Please head over to our Discord Server or Stackoverflow for support.

Professional support

Choose from a list of trusted tech partner of the django CMS Association to get your website project delivered successfully.

Choose a trusted web host for your django CMS project and get your website online today.

The django CMS Association

The django CMS Association is a non-profit organization that was founded in 2020 with the goal to drive the success of django CMS, by increasing customer happiness, market share and open-source contributions. We provide infrastructure and guidance for the django CMS project.

The non-profit django CMS Association is dependent on donations to fulfill its purpose. The best way to donate is to become a member of the association and pay membership fees. The funding will be funneled back into core development and community projects.

Join the django CMS Association.

Credits

djangocms-icon's People

Contributors

antwertinger avatar crydotsnake avatar dependabot[bot] avatar finalangel avatar fsbraun avatar kaushal-dhungel avatar lgtm-com[bot] avatar marksweb avatar narenderrajub avatar nicolairidani avatar pre-commit-ci[bot] avatar vthaian avatar vxsx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

djangocms-icon's Issues

Update (or document) for use with current Font Aweseome 5.0

This is still targeted to work with old Font Aweseome 4.7.0. Would be great if this could be updated to be compatible with the current version of Font Awesome (5.0). Alternatively, a slightly more elaborate documentation would be helpful, e.g. with some hints on how to configure Font Awesome 5.0 as ones "own" SVG icon set.

Should I find the time to figure it out, I will follow up here.

Keep up the excellent work, team divio!

Can not find icons

After update Django 2.1.8 and Djangocms 3.6.0 I can't see de icons to chooose

icon

Add steps for installing Font Awesome

When installing Django Icon - it doesn't mean that Font Awesome will be installed also
Maybe it's a good idea to stress on it, and to add some step for installing it

Support for Font Awesome 5 Pro

I would like to use Font Awesome 5 Pro.
I saw that in Bootstrap-Iconpicker it is possible to specify the version of the iconset to be used e.g
data-iconset-version="5.3.1_pro"
I could not find a way to set the version in this plugin. Could you add this possibility?

Icon is not displayed in django_bootstrap4_link

icon class is not rendered correctly.

<i class="" aria-hidden="true"></i>

Based on my investigation, the problem is caused when passing a parameter instance.icon_left or instance.icon_right from templates/djangocms_bootstrap4/link/default/link.html to templates/djangocms_icon/includes/icon.html

{% with icon_class=instance.icon_left instance=instance.icon_left %}{% include "djangocms_icon/includes/icon.html" %}{% endwith %}

<i class="{{ instance.icon }}...</i>

  • Instance.icon_left or instance.icon_right is String type
  • instance in icon.html is Icon Instance
  • The String type does not have icon property, so it will render empty string by errors

The easy is to create a custom template for templates/djangocms_icon/includes/icon.html, as follows

{% load cms_tags %}<i class="{% if icon_class %}{{ icon_class }}{% else %}{{ instance.icon }}{% endif %}{% if instance.attributes.class %} {{ instance.attributes.class }}{% endif %}" aria-hidden="true"{% for key, value in instance.attributes.items %}{% if key != 'class' %}{{ key }}="{{ value }}" {% endif %}{% endfor %}></i>

Issue with Django CMS Icon Module: Missing Static Path and Extra Class in Generated Markup

I am attempting to utilize the djangocms-icon module to incorporate my own SVG icons into my Django CMS project. Following the documentation, I have successfully added Material Design icons. However, I encounter issues when adding my custom SVG icons.

In my settings.py, I added the following code:

with open('iconset.json') as fh:
    ICONSET = fh.read()

DJANGOCMS_ICON_SETS = [
    ('fontawesome5regular', 'far', 'Font Awesome 5 Regular', 'latest'),
    ('fontawesome5solid', 'fas', 'Font Awesome 5 Solid', 'latest'),
    ('fontawesome5brands', 'fab', 'Font Awesome 5 Brands', 'latest'),
    ('materialdesign', 'zmdi', 'Material Design'),
    (ICONSET, 'svg-icon', 'My Icons'),
]

DJANGOCMS_ICON_TEMPLATES = [
    ('svg', 'SVG template'),
]

I have created an iconset.json file at the root of my project:

{
    "svg": true,
    "spritePath": "sprites/icons.svg",
    "iconClass": "svg-icon",
    "iconClassFix": "svg-icon-",
    "icons": [
        "svg-icon-card",
        "svg-icon-card-add"
    ]
}

I have also created my icons.svg file in static/sprites/icons.svg:

<svg width="0" height="0" class="hidden">
  <symbol xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" id="svg-icon-card">
    <!-- path data -->
  </symbol>
  <symbol xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" id="svg-icon-card-add">
    <!-- path data -->
  </symbol>
</svg>

Additionally, I created templates/djangocms_icon/svg/icon.html:

{% load cms_tags static %}
<span class="icon {{ instance.attributes.class }}">
    <svg role="presentation">
        <use xlink:href="{% static 'sprites/icons.svg' %}#{{ instance.icon }}"></use>
    </svg>
</span>

The issue arises in the generated markup. In the icon addition widget inspection, there is a missing /static/ before sprites/icons.svg#svg-icon-card. Additionally, in the page render, there is an extra svg-icon class after the # in the xlink. The generated markup looks like this:

<span class="djangocms-svg-icon svg-icon svg-icon-card">
    <svg role="presentation">
        <use xlink:href="sprites/icons.svg#svg-icon-card"></use>
    </svg>
</span>

There is a missing /static/ before sprites/icons.svg#svg-icon-card.

There also an issue in my rendered page with an extra "svg-icon " after the # in the xlink.

<span class="icon  cms-plugin cms-plugin-3730">
    <svg role="presentation">
        <use xlink:href="/static/sprites/icons.svg#svg-icon svg-icon-card"></use>
    </svg>
</span>

How can I resolve these issues?

Multiple iconsets cause problems with the icon selector widget

There is a problem with the icon selector widget using multiple icon sets.

Example:

DJANGOCMS_ICON_SETS = [
    (ICONSET, 'icon', 'SVG icons'),
    (ICONSET2, 'icon2', 'SVG icons 2'),
]

If one does select an icon from "SVG icons 2" and saves the plugin, opens it again, the wrong icon will be preselected (first of "SVG icons").
Steps to reproduce:

  1. Use following configuration:
DJANGOCMS_ICON_SETS = [
    ('fontawesome', 'fa', 'Font Awesome'),
    (ICONSET, 'icon', 'SVG icons'),
]
  1. Insert an icon plugin with an icon from "SVG Icons" into a placeholder.
  2. Open the plugin again - wrong icon will be selected.

Version 1.3.0 breaks compatibility with djangocms-bootstrap4

The new changes to enable FA5 support break compatibility with Bootstrap 4 links from the djangocms-bootstrap4 library, because that library stores the Icon as a charfield and it has not been updated to follow the conventions of the updated djangocms-icon. The result has a few effects, including icons on existing links being lost in the update, and editing being broken due to an indexing error resulting from the charfield in the Bootstrap library not storing the icon in the form "fa fa-". This may be an issue that needs to be fixed in the Bootstrap 4 library itself, but until the point in which that library is updated it creates a number of issues for anyone attempting to use both.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.