public function getConfig($key = null)
    {
        // Main package config.
        if (! $this->themeConfig) {
            $this->themeConfig = $this->config->get('theme');
        }

        // Config inside a public theme.
        // This config having buffer by array object.
        if ($this->theme and ! isset($this->themeConfig['themes'][$this->theme])) {
            $this->themeConfig['themes'][$this->theme] = array();

            try {
                // Require public theme config.
                $minorConfigPath = public_path($this->themeConfig['themeDir'].'/'.$this->theme.'/config.php');

                $this->themeConfig['themes'][$this->theme] = $this->files->getRequire($minorConfigPath);
            } catch (\Illuminate\Filesystem\FileNotFoundException $e) {
                //var_dump($e->getMessage());
            }
        }

        // Evaluate theme config.
        $this->themeConfig = $this->evaluateConfig($this->themeConfig);

        return is_null($key) ? $this->themeConfig : array_get($this->themeConfig, $key);
    }