protected function showArticle (string $lang, string $year, string $month, string $day, string $slug)
    {
        $r = HCPages::getTableName();
        $t = HCPagesTranslations::getTableName();

        $query = HCPages::with(['translation', 'categories', 'author'])->select(HCPages::getFillableFields(true));

        $query->join($t, "$r.id", "=", "$t.record_id")
            ->where("$t.slug", $slug)
            ->where("$t.language_code", $lang)
            ->where("$r.type", 'ARTICLE')
            ->where('publish_at', '>=', (new Carbon($year . '-' . $month . '-' . $day))->startOfDay())
            ->where('publish_at', '<=', (new Carbon($year . '-' . $month . '-' . $day))->endOfDay())
            ->where('publish_at', '<', Carbon::now());

        $data = $query->first();

        if (!$data)
            abort(404, 'Page not found');

        return hcview('HCPages::article.single', ['data' => ['article' => $data->toArray()]]);
    }