Skip to main content

App for publishing articles with tags and categories

Project description

Anarticle uses tag, catelog, and article models to publish articles. Support for Ariadne graphQL with pre-defined types and basic resolvers.

Requirements

  • Python 3.10+

  • django 4.0+

  • pillow 9.4.0+

Settings

Store uploaded file with tokenize file name, default to False

  • ANARTICLE_USE_TOKEN_FILENAME = True

Django admin mixins

Use predefined mixins to construct the admin class.

  • TagAdminMixin

  • CategoryAdminMixin

  • ArticleAdminMixin

from django.contrib import admin

from anarticle.models import Tag
from anarticle.admin.mixins import TagAdminMixin


@admin.register(Tag)
class TagAdmin(TagAdminMixin, ModelAdmin):
    ...

Ariadne types and resolvers

Integrate predefined types and resolvers to scheme.

Requirements

  • ariadne 0.16.0+

  • ariadne-relay 0.1.0a8+

scheme

from anarticle.graphqls import anarticle_schema
  • anarticle/graphqls/article.graphql

  • anarticle/graphqls/tag.graphql

  • anarticle/graphqls/category.graphql

types

from anarticle.graphqls import anarticle_bindables
  • anarticle

  • anarticle_paragraph

  • anarticle_tag

  • anarticle_category

resolvers

Async version

from anarticle.graphqls import resolve_anarticle_tag_instance, \
        resolve_anarticle_tag_articles_connection, resolve_anarticle_tags

anarticle_tag.set_instance_resolver(resolve_anarticle_tag_instance)
anarticle_tag.set_connection('articles', resolve_anarticle_tag_articles_connection)

query.set_field('tags', resolve_anarticle_tags)
  • resolve_anarticle_tag_instance,

  • resolve_anarticle_tag_articles_connection,

  • resolve_anarticle_category_instance,

  • resolve_anarticle_category_tags_connection,

  • resolve_anarticle_instance,

  • resolve_anarticle_paragraphs,

  • resolve_anarticle_tags_connection,

  • resolve_anarticle_tags,

  • resolve_anarticle_categories,

  • resolve_anarticles,

Sync version

  • resolve_anarticle_tag_instance_sync,

  • resolve_anarticle_tag_articles_connection_sync,

  • resolve_anarticle_category_instance_sync,

  • resolve_anarticle_category_tags_connection_sync,

  • resolve_anarticle_instance_sync,

  • resolve_anarticle_paragraphs_sync,

  • resolve_anarticle_tags_connection_sync,

  • resolve_anarticle_tags_sync,

  • resolve_anarticle_categories_sync,

  • resolve_anarticles_sync,

License

django-anarticle is released under the terms of Apache license. Full details in LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-anarticle-0.1.0rc3.tar.gz (11.6 kB view hashes)

Uploaded Source

Built Distribution

django_anarticle-0.1.0rc3-py3-none-any.whl (13.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page